Hi,
I have an issue with sorting.
I have a grid that is full generated on server side. It is not generated on the page Init or page load because it is dynamically created (columns and rows) based on previous control selection. Think of web based database editor.
<telerik:RadGrid ID="rgEntity" runat="server" AllowPaging="True" AllowCustomPaging="True" PageSize="25" Skin="Office2007" GridLines="None" AllowSorting="True" AutoGenerateColumns="False" OnPageIndexChanged="rgEntity_PageIndexChanged" OnSortCommand="rgEntity_SortCommand">
<PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="True" />
<MasterTableView Width="100%" Height="100%" CommandItemDisplay="Top" EnableColumnsViewState="True" InsertItemDisplay="Top" EditMode="InPlace">
<RowIndicatorColumn><HeaderStyle Width="20px"></HeaderStyle></RowIndicatorColumn>
<ExpandCollapseColumn><HeaderStyle Width="20px"></HeaderStyle></ExpandCollapseColumn>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="True">
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
<Selecting AllowRowSelect="true" />
</ClientSettings>
</telerik:RadGrid>
protected void rgEntity_SortCommand(object source, GridSortCommandEventArgs e)
{
e.Canceled = true;
GridSortExpression expression = new GridSortExpression();
string prevSortColumn = hiddenSortColumn.Value;
string prevSortDirection = hiddenSortDirection.Value;
bool prevSortDescending = false;
if (prevSortDirection != "false")
prevSortDescending = true;
string fieldname = e.CommandArgument.ToString();
bool sortdescending = false;
if (prevSortColumn == fieldname)
sortdescending = !prevSortDescending;
hiddenSortColumn.Value = fieldname;
hiddenSortDirection.Value = sortdescending.ToString();
LoadData(fieldname, sortdescending);
}
My problem is that the server side code is never accessed.
I checked that postback occurs and I can see that the Page_Load event is called, but the SortCommand event is never reached.
Also, I tried changing the EnableColumnsViewState to false, but then the app crashes on js file.
Microsoft Jscript runtime error: 'this.get_element().tBodies.0.rows' is null or not an object.
Any help would be appreciated.
Thanks.