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

problems with static headers not scrolling horizontaly

2 Answers 135 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Charles
Top achievements
Rank 2
Charles asked on 10 Mar 2011, 04:47 PM
I have a RadGrid that I've included in a Dot Net Nuke module project that has a mixture of hyperlink, button, bound and template columns.

I've set the HeaderStyle-Width property on the columns, I've set the client settings (for mouseover), static headers, allow scrolling, etc. and this all works fine on other pages that do not have hyperlink, button and template columns. The issue I have is that when the page loads initially, scrolling the grid works as expected (i.e. the headers are static while scrolling vertically, but scroll with the data columns when scrolling the grid horizontally.

As soon as any ajax request (i.e. postback) occurs, however, the horizontal scrolling quits working. I've attached a before and after screenshot showing the column headers. You can see in the first screenshot that the vertical scrollbar extends up into the headers, but after the postback, the header cells are on top of the scrollbar.

I placed a button on the page above the grid to just do an async-postback (i.e. Ajax Request) and nothing else. When the grid malfunctions, I can click that button and get the desired functionality back. 

Anyone know how to correct this or even what causes this?

Also, while discussing the screenshots, does anyone know why the font on the first two columns would be smaller than the remaining columns? 

Thanks,

charlie

2 Answers, 1 is accepted

Sort by
0
Charles
Top achievements
Rank 2
answered on 10 Mar 2011, 06:11 PM
Update:

Ok, I've tried a few things and have narrowed the problem down to some conflict between DNN's Ajax handling and the RadAjaxManager control.

1) I disabled partial updates in the DNN module. This did not solve the issue.
2) I removed the RadAjaxManager from the module and the issue went away, but I can no longer open a RadWindow that is replacing a Modal Popup Extender control in the original ASP.NET code.

Here is my code for the RadAjaxManager:

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <ClientEvents OnRequestStart="AjaxRequest_Start" OnResponseEnd="AjaxResponse_End" />
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="grdRadOpenActivations">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="grdRadOpenActivations" LoadingPanelID="RadAjaxLoadingPanel1" />
                    <telerik:AjaxUpdatedControl ControlID="divWinPopup" LoadingPanelID="" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="divWinPopup">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="divWinPopup" LoadingPanelID="" />
                    <telerik:AjaxUpdatedControl ControlID="grdRadOpenActivations" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>

I have my RadWindow control defined as follows:

<telerik:RadWindow ID="winPopup" runat="server" Width="850px"
            Height="340px" VisibleOnPageLoad="false" Behaviors="Move,Close"
            EnableShadow="false" Modal="true" BackColor="White" VisibleStatusbar="false" Skin="Office2007">
        <ContentTemplate>
            <div id="divWinPopup" runat="server" style="border:none; overflow:hidden; margin-left:5px;">
             ... my HTML / ASP.NET markup code
            </div>
        </ContentTemplate>
</telerik:RadWindow>

So, with this in mind, how can I resolve this issue? Does anyone see anything obvious with my RadAjaxManger setup?

Thanks,

Charlie
0
Charles
Top achievements
Rank 2
answered on 10 Mar 2011, 07:41 PM
Ok, I solved my issue by completely removing the RadAjaxManger control and opening and closing the RadWindow (used as a control container) through the server side code:

private void ShowModalPopup(string title)
{
    winPopup.Title = title;
    winPopup.VisibleOnPageLoad = true;
}
 
private void HideModalPopup()
{
    winPopup.Title = string.Empty;
    winPopup.VisibleOnPageLoad = false;
}

Thanks,

Charlie
Tags
Grid
Asked by
Charles
Top achievements
Rank 2
Answers by
Charles
Top achievements
Rank 2
Share this question
or