Hi,
We have a RadGrid that has some columns hidden at startup. We have enabled "UseStaticHeaders", "EnableHeaderContextMenu" and "UseStaticHeaders". The issue is that when the client checks a previously hidden column, the headers don't line up or horizontally scroll with the columns below. I have found that this is true whether in view mode or edit mode and that switching modes(causing a postback) cleans up the behavior. In fact, if I add a column then go into edit mode and cancel edit mode, the page scrolls fine.
Thanks for your help,
Dan Norton
The RadGrid definition is attached.
We have a RadGrid that has some columns hidden at startup. We have enabled "UseStaticHeaders", "EnableHeaderContextMenu" and "UseStaticHeaders". The issue is that when the client checks a previously hidden column, the headers don't line up or horizontally scroll with the columns below. I have found that this is true whether in view mode or edit mode and that switching modes(causing a postback) cleans up the behavior. In fact, if I add a column then go into edit mode and cancel edit mode, the page scrolls fine.
Thanks for your help,
Dan Norton
The RadGrid definition is attached.
<telerik:RadGrid ID="UserGrid" runat="server" CssClass="RadGrid" GridLines="None" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="False" EnableHeaderContextMenu="true" ShowStatusBar="true" HorizontalAlign="NotSet" AllowMultiRowEdit="False" OnNeedDataSource="UserGrid_NeedDataSource" OnItemDataBound="UserGrid_ItemDataBound" Width="870" > <ClientSettings> <Scrolling AllowScroll="True" SaveScrollPosition="True" UseStaticHeaders="true" /> </ClientSettings> <ExportSettings HideStructureColumns="true" OpenInNewWindow="true" ExportOnlyData="true" IgnorePaging="true" FileName="Que_Centre_Users_Export" /> <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="Id" TableLayout="Fixed" EditMode="EditForms" InsertItemPageIndexAction="ShowItemOnCurrentPage" PageSize="25" > <Columns> <telerik:GridTemplateColumn HeaderText="First Name" UniqueName="EditFirstName" DataField="FirstName" SortExpression="FirstName" HeaderStyle-Width="100px" ItemStyle-Width="100px"> <ItemTemplate> <asp:LinkButton runat="server" Text="Edit" CommandName="EditUser" Id="lbFirstName" CausesValidation="false" /> <asp:Label runat="server" ID="lblFirstName" Text="" Visible="false" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtFirstName" Width="120" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Last Name" UniqueName="EditLastName" DataField="LastName" SortExpression="LastName" HeaderStyle-Width="100px" ItemStyle-Width="100px"> <ItemTemplate > <asp:LinkButton runat="server" Text="Edit" CommandName="EditUser" Id="lbLastName" CausesValidation="false" /> <asp:Label runat="server" ID="lblLastName" Text="" Visible="false" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtLastName" Width="100" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="EmailAddress" HeaderText="Email Address" UniqueName="EmailAddress" SortExpression="EmailAddress" HeaderStyle-Width="150px" ItemStyle-Width="150px"> <ItemTemplate > <asp:Label runat="server" ID="lblEmailAddress" Text="" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtEmailAddress" Width="175" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="PhoneNumber" HeaderText="Phone Number" UniqueName="PhoneNumber" SortExpression="PhoneNumber" HeaderStyle-Width="125px" ItemStyle-Width="125px"> <ItemTemplate > <asp:Label runat="server" ID="lblPhoneNumber" Text="" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtPhoneNumber" Width="100" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="User Group" UniqueName="UserGroupName" DataField="UserGroupName" SortExpression="UserGroupName" HeaderStyle-Width="150px" ItemStyle-Width="150px"> <ItemTemplate> <asp:Label runat="server" ID="lblUserGroupName" Text="" /> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox Runat="server" Id="radUserGroup" EmptyMessage="Select User Group" MarkFirstMatch="true" Width="150px" Height="150" DropDownWidth="200" EnableLoadOnDemand="false" AllowCustomText="false" AutoPostBack="false" Filter="Contains" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="Username" HeaderText="Username" UniqueName="Username" SortExpression="Username" Display="false" HeaderStyle-Width="100px" ItemStyle-Width="100px"> <ItemTemplate > <asp:Label runat="server" ID="lblUsername" Text="" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtUsername" Width="100" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="HourlyRate" HeaderText="Hourly Rate" UniqueName="HourlyRate" SortExpression="HourlyRate" Display="false" HeaderStyle-Width="75px" ItemStyle-Width="75px"> <ItemTemplate > <asp:Label runat="server" ID="lblHourlyRate" Text="" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtHourlyRate" Width="50" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="HourlyOvertimeRate" HeaderText="Hourly Overtime Rate" UniqueName="HourlyOvertimeRate" SortExpression="HourlyOvertimeRate" Display="false" HeaderStyle-Width="75px" ItemStyle-Width="75px"> <ItemTemplate > <asp:Label runat="server" ID="lblHourlyOvertimeRate" Text="" /> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" ID="txtHourlyOvertimeRate" Width="50" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Delete" UniqueName="DeleteUser" DataField="Deleted" Resizable="false" HeaderStyle-Width="50px" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center"> <ItemTemplate > <asp:ImageButton runat="server" CommandName="DeleteUser" Id="DeleteUserIcon" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Block" UniqueName="BlockUser" DataField="Blocked" Resizable="false" HeaderStyle-Width="50px" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:ImageButton runat="server" CommandName="BlockUser" Id="BlockUserIcon" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <NoRecordsTemplate> <div style="padding: 5px;">No users exist.</div> </NoRecordsTemplate> <EditFormSettings EditFormType="Template"> <FormTemplate> <asp:Panel runat="server" ID="UserEditForm" /> </FormTemplate> </EditFormSettings> <CommandItemTemplate> <telerik:RadToolBar ID="UserGrid_RadToolBar" runat="server" AutoPostBack="true" EnableRoundedCorners="true" EnableShadows="true"> <Items> <telerik:RadToolBarButton Text="Create New User" Value="CreateNewUser" CommandName="InitInsert" PostBack="true" /> <telerik:RadToolBarButton IsSeparator="true" Value="Separator1" /> <telerik:RadToolBarButton Value="FiltersGroup"> <ItemTemplate> <div style="padding: 4px; min-height: 8px; vertical-align: middle;"> <asp:label runat="server" id="lblFiltersGroup" Text="Filter List: " ForeColor="White" Font-Bold="true" /> </div> </ItemTemplate> </telerik:RadToolBarButton> <telerik:RadToolBarButton Value="FilterByUserGroup" Group="Filters"> <ItemTemplate> <div style="margin-right: 5px; display: block; padding: 3px; min-height: 8px; vertical-align: middle;"> <asp:label runat="server" id="lblFilterByUserGroup" AssociatedControlId="radFilterByUserGroup" Text="User Group: " ForeColor="White" style="padding-right: 5px;" /> <telerik:RadComboBox Runat="server" Id="radFilterByUserGroup" EmptyMessage="Select User Group" MarkFirstMatch="true" Width="175px" Height="150" DropDownWidth="200" EnableLoadOnDemand="false" AllowCustomText="false" AutoPostBack="true" Filter="Contains" OnSelectedIndexChanged="radFilterByUserGroup_SelectedIndexChanged" /> </div> </ItemTemplate> </telerik:RadToolBarButton> <telerik:RadToolBarButton IsSeparator="true" Value="Separator2" /> <telerik:RadToolBarButton Value="RecordsPerPage"> <ItemTemplate> <div style="margin-right: 5px; display: block; padding: 3px; min-height: 8px; vertical-align: middle;"> <asp:label runat="server" id="lblRecordsPerPage" AssociatedControlId="radRecordsPerPage" Text="Page Size: " ForeColor="White" style="padding-right: 5px;" /> <telerik:RadComboBox Runat="server" Id="radRecordsPerPage" EmptyMessage="Select Records per Page" MarkFirstMatch="true" Width="75px" Height="100" DropDownWidth="100" EnableLoadOnDemand="false" AllowCustomText="false" AutoPostBack="true" Filter="Contains" OnSelectedIndexChanged="radRecordsPerPage_SelectedIndexChanged" /> </div> </ItemTemplate> </telerik:RadToolBarButton> <telerik:RadToolBarButton IsSeparator="true" Value="Separator3" /> <telerik:RadToolBarButton Text="Bulk Update" Value="BulkUpdate" CommandName="BulkUpdate" PostBack="true" /> <telerik:RadToolBarButton IsSeparator="true" Value="Separator4" /> <telerik:RadToolBarDropDown Text="Export Users"> <Buttons> <telerik:RadToolBarButton Text="Export To Excel" PostBack="true" CommandName="ExportToExcel" /> <telerik:RadToolBarButton Text="Export To Word" PostBack="true" CommandName="ExportToWord" /> <telerik:RadToolBarButton Text="Export To Pdf" PostBack="true" CommandName="ExportToPdf" /> </Buttons> </telerik:RadToolBarDropDown> <telerik:RadToolBarButton Text="Save Updates" Value="BulkUpdateSave" CommandName="BulkUpdateSave" PostBack="true" Visible="false" /> <telerik:RadToolBarButton IsSeparator="true" Value="Separator5" /> <telerik:RadToolBarButton Text="Cancel Updates" Value="BulkUpdateCancel" CommandName="BulkUpdateCancel" PostBack="true" Visible="false" /> </Items> </telerik:RadToolBar> </CommandItemTemplate> </MasterTableView> <ClientSettings AllowColumnsReorder="false"> <Resizing AllowRowResize="false" AllowColumnResize="true" EnableRealTimeResize="false" ResizeGridOnColumnResize="false" /> </ClientSettings> <PagerStyle Mode="Slider" Position="TopAndBottom" /> </telerik:RadGrid>