У меня есть GridView, который получает свой источник данных от сложного объекта.
Так что я делаю сортировку и разбиение по страницам в коде позади.
<asp:GridView ID="SystemsDetailList" runat="server" AllowSorting="true" AllowPaging="true"
AutoGenerateColumns="False" ShowFooter="True" OnPageIndexChanging="gridView_PageIndexChanging" OnSorting="gridView_Sorting">
Для важного столбца заголовка у меня есть SortExpression с 2 полями:
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.
и советы здесь?
спасибо!