Hi,
For most of the grids in our project, there are more than 35 columns,to minimize the time taken to load the grid, we are trying to use the gridpersister to save the settings for individual user, so that the user can customize the number of columns they want to see everytime.
Saving the grid setting data works fine. While loading the settings data in grid, the column header and data gets wrapped or clipped and sometimes some of the columns which is supposed to be visible are hidden and sometimes we cannot scroll to the end of grid and some columns at the end are clipped.
Below is the grid definition:
<telerik:RadGrid ID="RadReportGrid0" runat="server" AllowPaging="True" AutoSize="true" AllowSorting="True" DataSourceID="SqlDataSourceSearch" GridLines="None" Skin="Vista" AutoGenerateColumns="False" Width="99%" onitemcreated="RadReportGrid0_ItemCreated" EnableHeaderContextMenu="True" PageSize="20" onitemdatabound="RadReportGrid0_ItemDataBound" OnPageSizeChanged="RadReportGrid0_PageSizeChanged" oninit="RadReportGrid0_Init" AllowFilteringByColumn="false" GroupingEnabled = "false"> <headercontextmenu skin="Vista"> <collapseanimation duration="200" type="OutQuint"> </collapseanimation> </headercontextmenu> <selecteditemstyle CssClass="SelectedItem"></selecteditemstyle> <PagerStyle AlwaysVisible="True" Position="TopAndBottom" NextPageText="Next" PrevPageText="Prev" Mode="NextPrevAndNumeric"/> <mastertableview AutoGenerateColumns="False" datakeynames="key1,key14" ClientDataKeyNames="Key1,Key14" datasourceid="SqlDataSourceSearch" AllowMultiColumnSorting="True"> <norecordstemplate> No record to display </norecordstemplate> <HeaderStyle HorizontalAlign="Left" VerticalAlign="Bottom" Wrap="False" /> <ItemStyle Wrap="False" VerticalAlign="Top" HorizontalAlign="Left"/> <Columns> <telerik:GridBoundColumn DataField="Column1" DataType="System.DateTime" FilterControlWidth="100px" FilterListOptions="VaryByDataType" HeaderText="Upload Date" ReadOnly="True" SortExpression="Column1" UniqueName="Column1" Groupable="False" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column2" DataType="System.Decimal" HeaderText="Column2" SortExpression="Column2" FilterControlWidth="50px" UniqueName="Column2" Groupable="False" > </telerik:GridBoundColumn> <telerik:GridTemplateColumn AllowFiltering="false" Groupable="false"> <ItemTemplate> <asp:ImageButton ID="imgActionButton" runat="server" src="_assets/img/AddRecord2.gif"></asp:ImageButton> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Column3" HeaderText="Column3" FilterControlWidth="50px" ReadOnly="True" SortExpression="Column3" UniqueName="Column3" Groupable="False" DataType="System.String" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column4" HeaderText="Column4" FilterControlWidth="50px" SortExpression="Column4" UniqueName="Column4" Groupable="False" DataType="System.String" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column5" HeaderText="Column5" SortExpression="Column5" FilterControlWidth="50px" UniqueName="Column5" Groupable="False" DataType="System.String" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column6" HeaderText="Column6" FilterControlWidth="50px" ReadOnly="True" SortExpression="Column6" UniqueName="Column6" Groupable="False" DataType="System.String" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column7" FilterControlWidth="100px" DataType="System.DateTime" HeaderText="Column7" SortExpression="Column7" FilterListOptions="VaryByDataType" UniqueName="Column7" Groupable="False" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column8" HeaderText="Column8" ReadOnly="True" SortExpression="Column8" UniqueName="Column8" DataType="System.String"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="Column9" DataField="Column9" Groupable="False" DataType="System.String" FilterControlWidth="100px" > <HeaderTemplate> <asp:Label ID="LabelAccountName" runat="server" Text="Account"></asp:Label> </HeaderTemplate> <ItemTemplate> <asp:hyperlink id="AccountNameColumn" runat="server" text='<%# Eval("AccountName")%>'></asp:hyperlink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Column10" FilterControlWidth="100px" HeaderText="Column10" SortExpression="Column10" UniqueName="Column10" Groupable="False" DataType="System.String"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column11" HeaderText="Column11" FilterControlWidth="80px" SortExpression="Column11" UniqueName="Column11" Groupable="False" DataType="System.String"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column12" HeaderText="Column12" FilterControlWidth="80px" SortExpression="Column12" UniqueName="Column12" Groupable="False" DataType="System.Int16"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="Column13" DataField="Column13" Groupable="False" DataType="System.String" FilterControlWidth="100px" > <HeaderTemplate> <asp:Label ID="LabelSerialNumber" runat="server" Text="Serial Number"></asp:Label> </HeaderTemplate> <ItemTemplate> <asp:hyperlink id="SerialNumberColumn" runat="server" text='<%# Eval("SerialNumber")%>'></asp:hyperlink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Column14" FilterControlWidth="100px" DataType="System.DateTime" HeaderText="Column14" SortExpression="Column14" FilterListOptions="VaryByDataType" UniqueName="Column14" DataFormatString="{0:d}" Groupable="False"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column15" HeaderText="Column15" SortExpression="Column15" UniqueName="Column15" Groupable="False" DataType="System.String" FilterControlWidth="80px" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column16" HeaderText="Column16" SortExpression="Column16" UniqueName="Column16" Groupable="False" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column17" HeaderText="Column17" SortExpression="Column17" UniqueName="Column17" > </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column18" FilterControlWidth="80px" HeaderText="Column18" SortExpression="Column18" UniqueName="Column18" Groupable="False" DataType="System.String"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column19" FilterControlWidth="80px" HeaderText="Column19" SortExpression="Column19" DataType="System.String" UniqueName="Column19" Groupable="False"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column20" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column20" ReadOnly="True" SortExpression="Column20" UniqueName="Column20" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column21" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column21" ReadOnly="True" SortExpression="Column21" UniqueName="Column21" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column22" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column22" ReadOnly="True" SortExpression="Column22" UniqueName="Column22" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column23" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column23" ReadOnly="True" SortExpression="Column23" UniqueName="Column23" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column24" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column23" ReadOnly="True" SortExpression="Column23" UniqueName="Column23" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column24" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column24" ReadOnly="True" SortExpression="Column24" UniqueName="Column24" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column25" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column25" ReadOnly="True" SortExpression="Column25" UniqueName="Column25" Display="True" Groupable="False" DataFormatString="{0:F2}hr" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column26" DataType="System.Decimal" FilterControlWidth="80px" HeaderText="Column26" ReadOnly="True" SortExpression="Column26" UniqueName="Column26" Display="True" Groupable="False" DataFormatString="{0:F2}%" Visible="True"> </telerik:GridBoundColumn> <telerik:GridCalculatedColumn HeaderText="Column27" UniqueName="Column27" DataType="System.Double" DataFormatString="{0:F2}hr" DataFields="Column27,Column26" Expression="{0}*100/{1}" > </telerik:GridCalculatedColumn> <telerik:GridBoundColumn DataField="Column28" HeaderText="Column28" ReadOnly="True" SortExpression="Column28" UniqueName="Column28" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column29" HeaderText="Column29" ReadOnly="True" SortExpression="Column29" UniqueName="Column29" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column30" HeaderText="Column30" ReadOnly="True" SortExpression="Column30" UniqueName="Column30" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column31" HeaderText="Column31" ReadOnly="True" SortExpression="Column31" UniqueName="Column31" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Column32" HeaderText="Column32" ReadOnly="True" SortExpression="Column32" UniqueName="Column32" Display="True" Groupable="False" Visible="True"> </telerik:GridBoundColumn> </Columns> </mastertableview> <ClientSettings AllowDragToGroup="True" AllowColumnsReorder="True" ReorderColumnsOnClient="True"> <Selecting AllowRowSelect="True" /> <Scrolling AllowScroll="true" UseStaticHeaders="True" /> <ClientEvents OnRowContextMenu="RowContextMenu" /> </ClientSettings> <filtermenu Skin="Vista" > <collapseanimation duration="200" type="OutQuint"> </collapseanimation> </filtermenu> </telerik:RadGrid>Thanks.