This is a migrated thread and some comments may be shown as answers.

RadGrid using RadAjaxManagerProxy

4 Answers 107 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Yefta
Top achievements
Rank 1
Yefta asked on 22 May 2015, 05:06 AM

Hai, i am currently on project that using your very helpful Telerik UI.

I am using RadGrid, and i am following the example like in this link and i got a problem.

I am using one page and multiple UserControl. I got an error RadAjaxManager is only one in one page, and the solution i found is using RadAjaxManagerProxy.

But, i am confused how to use it? especially at Ajax Event Handler.

Please kindly help me.

Thank you in advance.

 

4 Answers, 1 is accepted

Sort by
0
Yefta
Top achievements
Rank 1
answered on 22 May 2015, 08:54 AM

Hello, i can find the edit button, so i reply this post with update.

now my web is using two UserControl in one WebPage.

In WebPage i got:

webpage.aspx

1.<telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
2.<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
3.</telerik:RadAjaxManager>

webpage.aspx.cs

protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
        {
            switch (e.Argument)
            {
                case "RebindSenderReferral":
                    usercontrol1.Rebind();
                    break;
                case "RebindAndNavigateSenderReferral":
                   usercontrol1.RebindAndNavigate();
                    break;
                case "RebindReceiverReferral":
                   usercontrol2.Rebind();
                    break;
                case "RebindAndNavigateReceiverReferral":
                    usercontrol2.RebindAndNavigate();
                    break;
                default:
                    break;
            }

 

and i add this in every usercontrol in webpage

usercontrol1.ascx

1.<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server" >
2. <telerik:AjaxSetting AjaxControlID="RadGrid1">
3.   <UpdatedControls>
4.    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="gridLoadingPanel"></telerik:AjaxUpdatedControl>
5.   </UpdatedControls>
6.  </telerik:AjaxSetting>
7. </AjaxSettings>
8.</telerik:RadAjaxManagerProxy>

 

function refreshGrid(arg) {
    if (!arg) {
     $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindSenderReferral");
    }
    else {
     $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindAndNavigateSenderReferral");
    }
 }

 

 usercontrol2.ascx

1.<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy2" runat="server" >
2. <telerik:AjaxSetting AjaxControlID="RadGrid2">
3.   <UpdatedControls>
4.    <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="gridLoadingPanel"></telerik:AjaxUpdatedControl>
5.   </UpdatedControls>
6.  </telerik:AjaxSetting>
7. </AjaxSettings>
8.</telerik:RadAjaxManagerProxy>

 

function refreshGrid(arg) {
    if (!arg) {
     $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindReceiverReferral");
    }
    else {
     $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindAndNavigateReceiverReferral");
    }
 }

 

 

How to make ajax at two RadGrid in different UserControl runnning?

So, when i click at RadGrid1 in UserControl1, the ajax refresh RadGrid1

and click at RadGrid2 in UserControl2 the, the ajax refresh RadGrid2?

Thank you

0
Maria Ilieva
Telerik team
answered on 26 May 2015, 08:36 AM
Hello Yefta,

In order to achieve the required functionality you should add programmatic settings for the both RadGrid controls to be updated by the main RadAjaxManager and also handle the AjaxRequest event in each UserControl separately like this:

UserControl1:
protected void Page_Load(object sender, EventArgs e)   
{         RadAjaxManager manager = RadAjaxManager.GetCurrent(Page);
          manager.AjaxSettings.AddAjaxSetting(manager, RadGrid1);
          manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest);
}
protected void manager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    switch (e.Argument)
            {
                case "RebindSenderReferral":
                   //your logic
                    break;
                case "RebindAndNavigateSenderReferral":
                  //your logic
                    break;
}
 
UserControl2:
protected void Page_Load(object sender, EventArgs e)   
{         RadAjaxManager manager = RadAjaxManager.GetCurrent(Page);
          manager.AjaxSettings.AddAjaxSetting(manager, RadGrid2);
          manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest);
}
protected void manager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    switch (e.Argument)
            {
               case "RebindReceiverReferral":
                  //your logic
                    break;
                case "RebindAndNavigateReceiverReferral":
                    //your logic
                    break;
}

Note that you should remove the RadAjaxManagerProxy control in this approach

Regards,
Maria Ilieva
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Yefta
Top achievements
Rank 1
answered on 26 May 2015, 10:18 AM

Hai Maria,

Thank you for your reply.

Why i should remove RadAjaxManagerProxy in each usercontrol?

I've done it like this:

<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy2" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="gridLoadingPanel2"></telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
        <telerik:AjaxSetting AjaxControlID="RadGrid2">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="gridLoadingPanel2"></telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>

and it run well

0
Maria Ilieva
Telerik team
answered on 29 May 2015, 08:14 AM
Hello Yefta,

When you have the settings below added programmatically to the main RadAjaxManager you do not need to have them in the RadAjaxManagerProxy controls:

UC1:
protected void Page_Load(object sender, EventArgs e)  
{         RadAjaxManager manager = RadAjaxManager.GetCurrent(Page);
          manager.AjaxSettings.AddAjaxSetting(manager, RadGrid1);
          manager.AjaxSettings.AddAjaxSetting(RadGrid1, RadGrid1);
          manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest);
}
protected void manager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    switch (e.Argument)
            {
                case "RebindSenderReferral":
                   //your logic
                    break;
                case "RebindAndNavigateSenderReferral":
                  //your logic
                    break;
}
 
UC2:
protected void Page_Load(object sender, EventArgs e)  
{         RadAjaxManager manager = RadAjaxManager.GetCurrent(Page);
          manager.AjaxSettings.AddAjaxSetting(manager, RadGrid2);
          manager.AjaxSettings.AddAjaxSetting(RadGrid2, RadGrid2);
          manager.AjaxRequest += new RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest);
}
protected void manager_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
    switch (e.Argument)
            {
               case "RebindReceiverReferral":
                  //your logic
                    break;
                case "RebindAndNavigateReceiverReferral":
                    //your logic
                    break;
}



Regards,
Maria Ilieva
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
Grid
Asked by
Yefta
Top achievements
Rank 1
Answers by
Yefta
Top achievements
Rank 1
Maria Ilieva
Telerik team
Share this question
or