簡體   English   中英

當我在asp.net webform C#中移動到GridView的下一頁時,排序會丟失

[英]Sorting is lost when i move to next page of GridView in asp.net webform C#

我有一個簡單的gridview來顯示記錄,我使用排序按所有列排序。 當我在第一頁時,排序工作,當我移動到下一頁,然后它再次顯示未排序的記錄。

    <asp:GridView ID="gv" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ID" 
Width="1100px" BackColor="White" BorderColor="#f5f5f5" BorderStyle="None" BorderWidth="0px" CellPadding="5"                 Font-Names="Verdana" Font-Size="X-Small" ForeColor="Black" GridLines="Horizontal" PageSize="500" CssClass="myheader" OnPageIndexChanging="gv_PageIndexChanging" OnSorting="gv_Sorting"  AllowSorting="true"  onrowdatabound="gv_RowDataBound" onrowcommand="gv_RowCommand" >

代碼背后

protected void gv_Sorting(object sender, GridViewSortEventArgs e)
    {
       // getCareerList();

       // DataTable dataTable = gv.DataSource as DataTable;

        DataSet ds = new DataSet();
        ds = DataProvider.GetFormByFormTypeIDForGridview(int.Parse(ddCareerType.SelectedItem.Value.ToString()));
        DataTable dataTable = ds.Tables[0];

        string SortDirection = "DESC";
        if (ViewState["SortExpression"] != null)
        {
            if (ViewState["SortExpression"].ToString() == e.SortExpression)
            {
                ViewState["SortExpression"] = null;
                SortDirection = "ASC";
            }
            else
            {
                ViewState["SortExpression"] = e.SortExpression;
            }
        }
        else
        {
            ViewState["SortExpression"] = e.SortExpression;
        }


        if (dataTable != null)
        {
            DataView dataView = new DataView(dataTable);
            dataView.Sort = e.SortExpression + " " + SortDirection;
            gv.DataSource = dataView;
            gv.DataBind();
        }
    }

我不確定是什么原因造成的

我建議設置一個斷點:

dataView.Sort = e.SortExpression + " " + SortDirection;

並檢查SortDirection的值是否符合預期。 如果不存在將訂單存儲在ViewState中的問題。 如果不是你,它就是DataView中的東西。

願這篇文章幫助你排序 - 不在網上工作 - 在aspview網上工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM