2
votes

Original Post

2 Additional Edits Below

I have a RADGrid on my page, but when the user clicks any of the controls within the grid, Page Forward/Back, Page Number, PageSize, Refresh, Checkbox Row Selector, etc... The entire page refreshes. I would like to have just the Grid itself refresh. I looked online, but I can't seem to find the information to make it all click.

I am using DNN 6, and I tried programmatically registering the RADAJAXManager (if missing, which it usually is) on the page. I saw people online referring to an EnableAJAX setting, but then later found that it was depreciated in the newer Telerik controls, so that option was ruled out. So then I tried programatically adding the AJAX Settings with the AddAjaxSetting()method. I have tried several variations of the parameters, but nothing happens. Obviously I am doing something wrong...I am looking entirely in the wrong place?

I tried surrounding my RADGrid with an AJAXPanel, but then the issue I had was that instead of the whole page "blinking" on a refresh, the RADGrid completely vanished, then re-appeared. I looked at several of the Demo's on the Telerik site, and I have no clue how they get their RADGrid to use the spinning circle refresh method for just the RADGrid.

I tried setting the page's "Support Partial Rendering" to true, but then what happens is that the whole page gray's out with the spinning circle. I just want to mimic the same behavior as shown on the Telerik Demo's.

Help!!! ::Frustrated::

Any clues or suggestions?

EDIT 4/18/2012 @ 7:48PM EST

I am using the following code to create the RADAjaxManager (If missing) on the page where I place my custom user control.

Private Sub RegisterRADAjaxManager(ByVal p_objPage As Page)
    '***************************************
    ' Register RAD AJAX Manager (If Missing)
    '***************************************
    Dim objRADAJAXManager As Telerik.Web.UI.RadAjaxManager = Telerik.Web.UI.RadAjaxManager.GetCurrent(p_objPage)

    '***************************************
    ' If RADAJAXManager Is Missing, Add It
    '***************************************
    If (objRADAJAXManager Is Nothing) Then
        objRADAJAXManager = New Telerik.Web.UI.RadAjaxManager
        objRADAJAXManager.ID = "RADAJAXManager"
        p_objPage.Form.Controls.Add(objRADAJAXManager)
    End If 
End Sub

I use the following code to add the Ajax Settings:

'***************************************
' Register RADGrid w/ RADAJAXManager
'***************************************
With TekkGrid.GetCurrentRADAJAXManager(Me.Page)
    .AjaxSettings.AddAjaxSetting(Me.gridMain, Me.gridMain)
    .AjaxSettings.AddAjaxSetting(Me.gridMain, Me.RADLoadingPanel)
End With

In my ASCX file I have:

<Telerik:RadGrid ID="gridMain" runat="server" />
<telerik:RadAjaxLoadingPanel ID="RADLoadingPanel" runat="server">
</telerik:RadAjaxLoadingPanel>

Am I missing anything?

EDIT 4/19/2012 @ 8:56AM EST

EUREKA! I figured it out. My problem was such a silly one. I have an IF statement on my Page_Load() event that check if IsPostBack. I was only registering the AjaxSettings on the RADAjaxManager if IsPostPack = False. I didn't realize that the RADAjaxManager was being recreated on each PostBack, and therefor I was losing all my AjaxSettings, so I moved the method that did the AjaxSettings registration outside of the IF statement so it always run on every page load, and voilà! It worked!

1) I tested the "Grouping" ability, and it works, however...when I drag a column, you don't "see" the collumn being dragged. All you see is a "crosshair" cursor as you are dragging the column. In the Demo's, when you start dragging a box with the column name inside it appears so you have a visual experience of the "drag/drop" feature. How do I get that same functionality? Anyone know?

1

1 Answers

1
votes

If you mark your module control as "Supports Partial Rendering," DNN will wrap your module in a RadAjaxPanel. This is definitely the easiest way, and most compliant with what the framework provides/expects.

If you don't want the page to grey-out during the postbacks, you just need to adjust the style (probably at a portal/skin level, for consistency throughout the site). So, if your skin wraps the whole site with an ID of MySkin, you can use this CSS to change the style of the update progress display:

#MySkin .RadAjax .raTransp {display:none;}

UPDATE

To have the update progress indicator only display over the grid, try using the combination of RadAjaxManager and RadAjaxLoadingPanel as the demos do; something like:

<telerik:RadAjaxManager runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />