【发布时间】:2011-02-07 03:49:01
【问题描述】:
我有一个从复杂对象获取数据源的 GridView。 所以我在后面的代码中进行排序和分页。
<asp:GridView ID="SystemsDetailList" runat="server" AllowSorting="true" AllowPaging="true"
AutoGenerateColumns="False" ShowFooter="True" OnPageIndexChanging="gridView_PageIndexChanging" OnSorting="gridView_Sorting">
对于一个重要的标题列,我有一个包含 2 个字段的 SortExpression:
SortExpression="FunctionalAreaDisplayCode, EswbsDisplayCode"
这在后面的代码中:
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;
}
}
由于某种原因,它会保持“FunctionalAreaDisplayCode”始终按 ASC 排序,但 EswbsDisplayCode 工作正常,因为它在 ASC 和 DESC 之间正确切换。
这里有提示吗?
谢谢!
【问题讨论】:
-
我不明白你的问题。你是说它应该在 (FunctionalAreaDisplayCode asc, EswbsDisplayCode asc) 和 (FunctionalAreaDisplayCode desc, EswbsDisplayCode desc) 之间切换
标签: gridview sorting viewstate jquery-ui-sortable