RadGrid1_ItemCommand alert message

14 posts, 0 answers
  1. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 09 May 2011 Link to this post

    how i alert message give on


    RadAjaxManager1.Alert("This Asset Make Use Ticket, Are Sure Delete This Asset");


    how i give yes , no command

    Thanks,
    Mohamed
  2. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 09 May 2011 Link to this post

    Hello Mohamed,

    I am not quite sure about the way you have designed your aspx. The following KB article discusses calling radalert from code behind.
    Calling radalert from codebehind (all versions of RadWindow)

    C#:
    RadWindowManager1.RadAlert("RadAlert is called from the server", "Server RadAlert", "alertCallBackFn");

    Another approach is to implement RadAlert using direct method. The predefined dialogs (radalert, radconfirm and radprompt) can be now called by using the new server methods RadAlert, RadConfirm  and RadPrompt of the RadWindowManager.
    Window / Alert, Prompt, Confirm.

    Thanks,
    Shinu.
  3. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 09 May 2011 Link to this post

    Thanks For Ur replay,

    RadWindowManager1

    that don't have radalert or RadConfirm.
    doesn't contain definition for RadConfirm and no extension method RadConfirm accepting first argument of type using Telerik.Web.UI.RadWindowManager1;  could be found (are you missing a using directer or an assembly reference)

    Thanks ,
    Mohamed .
  4. Shinu
    Shinu avatar
    17764 posts
    Member since:
    Mar 2007

    Posted 09 May 2011 Link to this post

    Hello Mohamed,

    This feature is available from Q1 2011 (version 2011.1.315) release. I suggest you to upgrade to the latest version.

    Thanks,
    Shinu.
  5. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 09 May 2011 Link to this post

    hello Shinu.

    how can i rectify it
    If you have any idea

    Thanks,
    Mohamed.
  6. Marin Bratanov
    Admin
    Marin Bratanov avatar
    4942 posts

    Posted 11 May 2011 Link to this post

    Hi Mohamed,

    I am not sure what your scenario is, but it looks like you want to show an alert from the server-side. As the previous post suggested you can:

    If you are still experiencing difficulties please open a support ticket and send us detailed information on the issue you are having along with detailed reproduction steps and we will do our best to help.



    All the best,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  7. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 11 May 2011 Link to this post

    Thanks For Ur Reply ,
    i'm already see those examples .
    how i post the this error to support ticket

    i'm use this version v4.0.30319

    i'm not use this alert button click ,
    how i'm going to use this alert on "RadGrid1_ItemCommand"
     

    Thanks,
    Mohamed
  8. Marin Bratanov
    Admin
    Marin Bratanov avatar
    4942 posts

    Posted 13 May 2011 Link to this post

    Hello Mohamed,

    You need to capture the Item Command event and use one of the approaches recommended below.

    For your convenience I created and attached a simple page that uses an image button click and a regular button click to initiate the ItemCommand event, but you can use your own custom logic for that. In the code-behind I chose to inject a JavaScript function that calls the RadAlert, but you can use any other method, too. Please note that you need a RadWindowManager on the page to be able to call a RadAlert, RadConfirm or RadPrompt.



    All the best,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  9. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 14 May 2011 Link to this post

    Thanks for ur reply Marin

    how i get the value from radconfirm message yes or no

    if yes i perform some operation.
    how return the valur form java script

    ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "radconfirm('This Asset Make Use Ticket, Are Sure Delete This Asset?',confirmCallBackFn, 330, 100, null,'Send Message?');", true);


    js:
    function confirmCallBackFn(arg) {
                    debugger;
                    if (arg == true) {
                        alert("If True");
                                            return  true;
                    }
                    else {
                        alert("Else");
                        return false;
                    }
                }


    Thanks,
    Mohamed.
  10. Marin Bratanov
    Admin
    Marin Bratanov avatar
    4942 posts

    Posted 17 May 2011 Link to this post

    Hi Mohamed,

    Your code seems correct to me - the value returned from the confirm dialog box is contained in the argument you pass to the callback function.

    I tested it in the previous page and it is working correctly on my end. You can find attached my test page with the new modification applied. Please note that you need to make sure that the controls are loaded before trying to use them, hence the usage of the Sys.Application.Load event.

    If that does not help you please open a formal support ticket and send us a sample project that displays your issue along with detailed explanations of the desired effect and the difficulties you are having with our controls. At the current state of affairs I am mostly guessing what your scenario and needs are and in order to be able to provide a more to the point answer I will need your code and a more detailed explanation of your issues.



    Greetings,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

  11. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 17 May 2011 Link to this post

    Thanks for ur reply Marin .

    i got alert message,
    how i get the alert message value in sever side ,
    i check like that for example
    if (arg == true)                        
     {
      string updateQuery = "UPDATE [Assets] SET Asset_Inactive=1 WHERE [AssetID] ='" + AssetID + "'";
      sqlcmd.CommandText = updateQuery;
      sqlcmd.Connection = SqlConn;
      sqlcmd.ExecuteNonQuery();
    }
    reply as soon  as possible.

    Thanks,
    Mohamed.
  12. Princy
    Princy avatar
    17421 posts
    Member since:
    Mar 2007

    Posted 17 May 2011 Link to this post

    Hello Mohamed,

    One suggestion is to use RadAjaxManager and make the ajaxRequest and pass the argument.
    Javascript:
    function confirmCallBackFn(arg)
            {
                if (arg == true)
                {
                    alert("confirm returned the following value: " + arg);
                    var ajxmgr = $find("<%=RadAjaxManager1.ClientID%>");//AjaxManager1 is the AjaxManager on page
                    ajxmgr.ajaxRequest(arg);
                }
                     . . . . . . .
         }

    C#:
    private void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        //code to handle the generic AJAX request
    }

    Also take a look at the following help article.
    client-side API

    Thanks,
    Princy.
  13. mohamed
    mohamed avatar
    311 posts
    Member since:
    Mar 2011

    Posted 17 May 2011 Link to this post

    Thanks For ur reply Princy.

    i work this function radgrid_itemcommand
    like that

    js:
    function confirmCallBackFn(arg) {
                    debugger;
                    var sample
                    if (arg == true) {
                        alert("If True");
                    }
                    else {
                        alert("Else");
                    }
                }

    C#
    if (e.CommandName == RadGrid.DeleteCommandName)
                {
                    GridDataItem item = (GridDataItem)e.Item;
                    string AssetID = item["AssetID"].Text;
                    assignAssets(LoadAssets(AssetID));

                    try
                    {
                        string selectQuery = "select * from Tickets a , Assets b where a.Ticket_AssetID=b.AssetID and a.Ticket_AssetID = " + AssetID;
                        sqladp.SelectCommand = new SqlCommand(selectQuery, SqlConn);
                        sqladp.Fill(dt1);
                        int i = dt1.Rows.Count;
                        dt1 = null;

                        if (i > 0)
                        {

    ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "radconfirm('This Asset Make Use Ticket, Are Sure Delete This Asset?',confirmCallBackFn, 330, 100, null,'Send Message?');", true);

    """"""""""" here i want to check if the script's true this going to update,
    """"""""""" false not needed
                            //string updateQuery = "UPDATE [Assets] SET Asset_Inactive=1 WHERE [AssetID] ='" + AssetID + "'";
                            //sqlcmd.CommandText = updateQuery;
                            //sqlcmd.Connection = SqlConn;
                            //sqlcmd.ExecuteNonQuery();                                 

                        }
                        else
                        {
                            SqlConn.Open();
                            string deleteQuery1 = "DELETE FROM [Asset_Lease] WHERE [LeaseID] ='" + leaseid + "'";
                            sqlcmd.CommandText = deleteQuery1;
                            sqlcmd.Connection = SqlConn;
                            sqlcmd.ExecuteNonQuery();
                            string deleteQuery2 = "DELETE FROM [Asset_Service_Contracts] WHERE [Contract_AssetID] ='" + AssetID + "'";
                            sqlcmd.CommandText = deleteQuery2;
                            sqlcmd.Connection = SqlConn;
                            sqlcmd.ExecuteNonQuery();
                            string deleteQuery = "DELETE FROM [Assets] WHERE [AssetID] ='" + AssetID + "'";
                            sqlcmd.CommandText = deleteQuery;
                            sqlcmd.Connection = SqlConn;
                            sqlcmd.ExecuteNonQuery();
                            SqlConn.Close();
                        }

                        selectQuery = "SELECT a.AssetID,a.AssetName,a.SerialNumber,a.Asset_UserID,b.ppl_Name,a.Asset_Inactive FROM [Assets] a , People b " +
                                      "where a.Asset_UserID=b.PeopleID  order by AssetName asc";
                        sqladp.SelectCommand = new SqlCommand(selectQuery, SqlConn);
                        sqladp.Fill(dt2);
                        RadGrid1.DataSource = dt2;
                    }
                    catch (Exception ex)
                    {
                        RadGrid1.Controls.Add(new LiteralControl("Unable to delete Id. Reason: " + ex.Message));
                        e.Canceled = true;
                    }
                }


    Thanks,
    Mohamed.
  14. Marin Bratanov
    Admin
    Marin Bratanov avatar
    4942 posts

    Posted 18 May 2011 Link to this post

    Hello Mohamed,

    The RadConfirm is a client-side object and thus uses JavaScript. This means that you cannot block the execution thread on the server while waiting for the response from the client.

    What I would suggest is to split this method in two

    1. inject the client-side script and get the result from the RadConfirm on the client side
    2. depending on that result call a hidden button's server-side click event where you update the database (the second part of the current method)

    You can pass the necessary values in hidden fields on the page, in the viewstate or as global variables or properties in the code-behind's class, this decision is up to the developer and depends on your custom scenario.

    Here is a small example how to execute a server-side function from JavaScript:

    <input type="button" id="btnHidden" style="display:none" runat="server" onserverclick="serverside_handler" />
    <asp:Button ID="Button1" Text="call method" runat="server" OnClientClick="callMethod(); return false;" />
    <asp:Label ID="Label1" Text="" runat="server" />

    function callMethod()
    {
        document.getElementById("<%=btnHidden.ClientID %>").click();
    }
    protected void serverside_handler(object sender, EventArgs e)
        {
            Label1.Text = "from code-behind";
        }

    Greetings,
    Marin
    the Telerik team

    Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

Back to Top