带2个字段的Gridview SortExpression
我有一个GridView,它从一个复杂的对象获取它的数据源。 所以我在后面的代码中进行排序和分页带2个字段的Gridview SortExpression,gridview,sorting,viewstate,jquery-ui-sortable,Gridview,Sorting,Viewstate,Jquery Ui Sortable,我有一个GridView,它从一个复杂的对象获取它的数据源。 所以我在后面的代码中进行排序和分页 <asp:GridView ID="SystemsDetailList" runat="server" AllowSorting="true" AllowPaging="true" AutoGenerateColumns="False" ShowFooter="True" OnPageIndexChanging="gridView_PageIndexChanging" OnSorting="g
<asp:GridView ID="SystemsDetailList" runat="server" AllowSorting="true" AllowPaging="true"
AutoGenerateColumns="False" ShowFooter="True" OnPageIndexChanging="gridView_PageIndexChanging" OnSorting="gridView_Sorting">
这在代码背后:
protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
{
BindSystemList(e.SortExpression, sortOrder);
}
public string sortOrder
{
get
{
if (ViewState["sortOrder"].ToString() == "desc")
ViewState["sortOrder"] = "asc";
else
ViewState["sortOrder"] = "desc";
return ViewState["sortOrder"].ToString();
}
set
{
ViewState["sortOrder"] = value;
}
}
出于某种原因,它将保持“FunctionalReadySplayCode”始终按ASC排序,但EswbsDisplayCode工作正常,因为它在ASC和DESC之间正确切换
这里有提示吗
谢谢 我的猜测是,它通过简单地将排序顺序附加到排序表达式来创建SQL
orderby
子句。因此,您将有:
FunctionalAreaDisplayCode, EswbsDisplayCode asc
及
SQL(或执行排序的任何程序)将其解释为:
及
见:
重要的是要记住,每当您按多个列排序时,您
需要在每列后指定ASC和/或DESC
休,我不明白你的问题。您是说它应该在(FunctionalReadySplayCode asc、EswbsDisplayCode asc)和(FunctionalReadySplayCode desc、EswbsDisplayCode desc)之间切换吗
FunctionalAreaDisplayCode, EswbsDisplayCode asc
FunctionalAreaDisplayCode, EswbsDisplayCode desc
FunctionalAreaDisplayCode asc, EswbsDisplayCode asc
FunctionalAreaDisplayCode asc, EswbsDisplayCode desc