【问题标题】:Sorting is lost on page index change of a GridView asp.netGridView asp.net 的页面索引更改时排序丢失
【发布时间】:2018-02-23 15:27:43
【问题描述】:

我在GridView 控件中实现了排序分页。代码如下:

<asp:GridView ShowHeaderWhenEmpty="True" CssClass="Grid"                    
            AlternatingRowStyle-CssClass="alt" AllowPaging="True" PageSize="15" OnPageIndexChanging="grdAllRequests_PageIndexChanging"
            PagerStyle-CssClass="pgr" OnSorting="grdAllRequests_Sorting" AllowSorting="True" 
            EmptyDataText="No data to show" ID="grdAllRequests" runat="server" AutoGenerateColumns="false" 
            OnRowDataBound="grdAllRequests_RowDataBound">

下面是分页和排序的代码

protected void grdAllRequests_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    grdAllRequests.PageIndex = e.NewPageIndex;
    DataTable dt = (DataTable)ViewState["dtAllRequests"];

    BindDataBAL bind = new BindDataBAL();
    bind.BindGridData(grdAllRequests, dt);
}

protected void grdAllRequests_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable dtrslt = (DataTable)ViewState["dtAllRequests"];
    if (dtrslt.Rows.Count > 0)
    {
        if (Convert.ToString(ViewState["sortdr"]) == "Asc")
        {
            dtrslt.DefaultView.Sort = e.SortExpression + " Desc";
            ViewState["sortdr"] = "Desc";
        }
        else
        {
            dtrslt.DefaultView.Sort = e.SortExpression + " Asc";
            ViewState["sortdr"] = "Asc";
        }
        ViewState["dtAllRequests"] = dtrslt;
        grdAllRequests.DataSource = dtrslt;
        grdAllRequests.DataBind();
    }
}

现在的问题是,当我单击任何标题时,排序会正确执行,但是当我尝试导航到下一页时,排序会丢失。不知道出了什么问题。请帮忙。

【问题讨论】:

    标签: c# asp.net sorting gridview pagination


    【解决方案1】:

    你必须使用DefaultView.ToTable();

    dtrslt.DefaultView.Sort = e.SortExpression + " Desc";
    dtrslt = dtrslt.DefaultView.ToTable();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多