Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带2个字段的Gridview SortExpression_Gridview_Sorting_Viewstate_Jquery Ui Sortable - Fatal编程技术网

带2个字段的Gridview SortExpression

带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

我有一个GridView,它从一个复杂的对象获取它的数据源。 所以我在后面的代码中进行排序和分页

<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