二、初学.NET—Gridview的排序

前端:.aspx

首先设置GirdView的AllowSorting属性为True

<asp:GridView ID="gv_ReviewIndex" runat="server"  AllowPaging="True" AllowSorting="True" />

每一列,包括模板列设置SortExpression需要排序的字段名

<asp:TemplateField HeaderText="评审分数" SortExpression="ReviewSumScore" >

          <ItemTemplate>

                <asp:Label ID="lb_ReviewScore" runat="server" Text='<%#Eval("ReviewSumScore") %>'></asp:Label>

          </ItemTemplate>

           <FooterTemplate>

                 <asp:Label ID="Label3" runat="server" Text=""></asp:Label>

          </FooterTemplate>

          </asp:TemplateField>

后台代码:.aspx.cs 指定Sorting事件处理代码

protected void gv_ReviewIndex_Sorting(object sender, GridViewSortEventArgs e)

    {

        if (ViewState["SortExpresstion"] != null)

        {

            if (ViewState["SortExpresstion"].ToString() == e.SortExpression)

            {

                if (ViewState["SortDirection"].ToString() == "ASC")

                {

                    ViewState["SortDirection"] = "DESC";

                }

                else

                {

                    ViewState["SortDirection"] = "ASC";

                }

            }

            else

            {

                ViewState["SortExpresstion"] = e.SortExpression;

                ViewState["SortDirection"] = "ASC";

            }

        }

        else

        {

            ViewState["SortExpresstion"] = e.SortExpression;

            ViewState["SortDirection"] = "ASC";

        }

        SetBind();

    }

修改GridView控件绑定代码:

private void SetBind()

    {

        DataSet ds = new DataSet();

        using (SqlConnection conn = new SqlConnection(sConnectionString))

        {

           SqlDataAdapter da = new SqlDataAdapter("select * from  tbReview'", conn);

            da.Fill(ds);

         }

        DataView dv = new DataView(ds.Tables[0]);

        if (ViewState["SortExpresstion"] != null)

            dv.Sort = ViewState["SortExpresstion"].ToString() + " " + ViewState["SortDirection"].ToString();

        gv_ReviewIndex.DataSource = dv;

        gv_ReviewIndex.DataBind();

 

    }

原文地址:https://www.cnblogs.com/liuyuanhao/p/3012941.html