I have a radgird on the screen andt uses onneeddata to fill the grid. The filtering is done by dropdowns on the screen.
Here is my grid.
and this is the code behind
The issue I am having is when the user click the header to sort you see the icon popup like it is working but it does not sort the grid. I have put a stop in the NeedDataSource and when the grid sorts it runs throught this logic, so I am assumin git is lossing the sorting and just reloading the grid. Is there a way I can get the sort informatioan and just add an orderby in the sql?
Here is my grid.
<rad:radgrid id="gridFilings" runat="server" allowsorting="True" autogeneratecolumns="False" enableajax="True" enableajaxloadingtemplate="True" gridlines="None" loadingtemplatetransparency="50" showstatusbar="True" skin="Windows" width="98%" ShowGroupPanel="True" AllowPaging="false" OnItemDataBound="gridFilings_ItemDataBound" OnNeedDataSource ="gridFilings_NeedDataSource" > <ClientSettings AllowDragToGroup="True"> <Selecting AllowRowSelect="True" /> </ClientSettings> <MasterTableView AllowCustomPaging="True" DataKeyNames="FileID" AutoGenerateColumns="False" DataSourcePersistenceMode="NoPersistence" AlternatingItemStyle-BackColor="ControlLight"> <Columns> <rad:GridBoundColumn DataField="FileID" UniqueName="FileID" Groupable="False" AllowSorting="True" Visible="True" HeaderText="Job #" HeaderStyle-CssClass="headerLeft" DataType="System.String"> </rad:GridBoundColumn> <rad:GridTemplateColumn DataField="ClientName" HeaderText="Client Name" HeaderStyle-CssClass="headerLeft" SortExpression="ClientName" UniqueName="ClientName" GroupByExpression="ClientName Group By ClientName"> <itemTemplate> <%# Eval("ClientName")%> </itemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="GroupName" HeaderText="Group" HeaderStyle-CssClass="headerLeft" SortExpression="GroupName" UniqueName="GroupName" GroupByExpression="GroupName Group By GroupName"> <ItemTemplate> <%# Eval("GroupName")%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn HeaderText="Operator" HeaderStyle-CssClass="headerLeft" SortExpression="AssignedTo" UniqueName="OperatorTemplate" GroupByExpression="AssignedTo Group By AssignedTo"> <ItemTemplate> <asp:DropDownList ID="OperatorDropDown" runat="server" EnableViewState="false"></asp:DropDownList> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="DateIn" HeaderText="Date In" HeaderStyle-CssClass="headerLeft" SortExpression="DateIn" UniqueName="DateIn" GroupByExpression="DateIn Group By DateIn" > <ItemTemplate> <%# String.Format("{0:MM/dd/yyyy}", Eval("DateIn"))%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="DueDate" HeaderText="Due Date" HeaderStyle-CssClass="headerLeft" SortExpression="DueDate" UniqueName="DueDate" GroupByExpression="DueDate Group By DueDate"> <ItemTemplate> <%# String.Format("{0:MM/dd/yyyy}", Eval("DueDate"))%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="FileTypeName" HeaderText="Form Type" HeaderStyle-CssClass="headerLeft" SortExpression="FileTypeName" UniqueName="FileTypeName" Groupable="False"> <ItemTemplate> <%# Eval("FileTypeName")%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="ConvertedPageCount" Groupable="false" HeaderText="Converted<br>Page Count" HeaderStyle-CssClass="headerRight" ItemStyle-HorizontalAlign="Right" UniqueName="ConvertedPageCount"> <ItemTemplate> <%# Eval("ConvertedPageCount")%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="ChangedPageCount" Groupable="false" HeaderText="Changed<br>Page Count" HeaderStyle-CssClass="headerRight" ItemStyle-HorizontalAlign="Right" UniqueName="ChangedPageCount"> <ItemTemplate> <%# Eval("ChangedPageCount")%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="ConversionType" Groupable="false" HeaderText="Conversion" ItemStyle-HorizontalAlign="Center" UniqueName="ConversionType"> <ItemTemplate> <%# Eval("ConversionType")%> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridBoundColumn DataField="FileStatusTypeID" UniqueName="FileStatusTypeID" Groupable="False" AllowFiltering="False" Visible="False"> </rad:GridBoundColumn> <rad:GridBoundColumn DataField="AssignedTo" UniqueName="AssignedTo" Groupable="False" AllowFiltering="False" Visible="False"> </rad:GridBoundColumn> <rad:GridTemplateColumn HeaderText="Status" HeaderStyle-CssClass="headerLeft" AllowFiltering="False" SortExpression="FileStatusTypeID" UniqueName="FileStatusTypeIDTemplate" GroupByExpression="FileStatusTypeID Group By FileStatusTypeID"> <ItemTemplate> <asp:DropDownList ID="StatusTypeID" runat="server" EnableViewState="false" DataTextField="FileStatusTypeName" DataValueField="FileStatusTypeID"></asp:DropDownList> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn AllowFiltering="False" UniqueName="ViewFiling" Groupable="false"> <ItemTemplate> <a href="javascript:openDialog('ViewFiling.aspx?fileid=<%# Eval("FileID")%>', 800, 600, 'file', 'scrollbars=yes,resizable=yes');"> <img alt="View Filing" border="0" src="RadControls/Grid/Skins/Windows/View.gif" title="View Filing" /></a> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn AllowFiltering="False" UniqueName="EditFiling" Groupable="false"> <ItemTemplate> <a href="EditFiling.aspx?fileid=<%# Eval("FileID")%>"> <img alt="Edit Filing" border="0" src="RadControls/Grid/Skins/Windows/Edit.gif" title="Edit Filing" /></a> </ItemTemplate> </rad:GridTemplateColumn> <rad:GridTemplateColumn AllowFiltering="False" UniqueName="DocumentLink" Groupable="false"> <ItemTemplate> <a href="javascript:openDialog('FileManager.aspx?fileid=<%# Eval("FileID")%>', 800, 600, 'file', 'scrollbars=yes,resizable=yes');"> <img alt="View Files" border="0" src="RadControls/Grid/Skins/Windows/folder.gif" title="View Files" /></a> </ItemTemplate> <HeaderStyle Width="20px" /> </rad:GridTemplateColumn> <rad:GridTemplateColumn DataField="GroupID" UniqueName="GroupID" Display="false"> <ItemTemplate> <%# Eval("GroupID")%> </ItemTemplate> </rad:GridTemplateColumn> </Columns> <ExpandCollapseColumn Resizable="False" Visible="False"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <RowIndicatorColumn Visible="False"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> </MasterTableView> </rad:radgrid>and this is the code behind
protected void gridFilings_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { SqlDataSource1.SelectCommand= "SELECT [FileID], [ClientID], [ClientName], [DateIn], [DueDate], [FileTypeName], [FileLocation], [FileStatusTypeName], [FileStatusTypeID] , [GroupID], [GroupName], [PageCount], [ConvertedPageCount], [ChangedPageCount], [ConversionType], IsNull([AssignedTo], '') as 'AssignedTo' FROM [FileDetailView] WHERE [FileStatusTypeID] <= 90 "; if (Page.User.IsInRole("GROUP")) SqlDataSource1.SelectCommand += " and [GroupID] = " + Session["GroupID"].ToString(); else if (Page.User.IsInRole("CLIENT")) SqlDataSource1.SelectCommand += " and [ClientID] = " + Session["ClientID"].ToString() + " and FileStatusTypeID = 0"; if (ClientName.SelectedValue.Length > 0) SqlDataSource1.SelectCommand += " and ClientID = " + ClientName.SelectedValue; if (ClientGroup.SelectedValue.Length > 0) SqlDataSource1.SelectCommand += " and GroupID = " + ClientGroup.SelectedValue; if (StartDueDate.Text.Length > 0) { if (EndDueDate.Text.Length > 0) SqlDataSource1.SelectCommand += " and (DueDate >= '" + StartDueDate.Text + "' and DueDate <= '" + EndDueDate.Text + "')"; else SqlDataSource1.SelectCommand += " and DueDate = '" + StartDueDate.Text + "'"; } if (StartDateIn.Text.Length > 0) { if (EndDateIn.Text.Length > 0) SqlDataSource1.SelectCommand += " and (DateIn >= '" + StartDateIn.Text + "' and DateIn <= '" + EndDateIn.Text + "')"; else SqlDataSource1.SelectCommand += " and DateIn = '" + StartDateIn.Text + "'"; } SqlDataSource1.SelectCommand += " Order by FileStatusTypeID"; gridFilings.DataSource = SqlDataSource1;The issue I am having is when the user click the header to sort you see the icon popup like it is working but it does not sort the grid. I have put a stop in the NeedDataSource and when the grid sorts it runs throught this logic, so I am assumin git is lossing the sorting and just reloading the grid. Is there a way I can get the sort informatioan and just add an orderby in the sql?