【问题标题】:How to sort data in GridView in asp.netasp.net如何对GridView中的数据进行排序
【发布时间】:2011-04-07 10:18:17
【问题描述】:

如何对GridView获取的数据表按照某列进行排序。 我正在尝试做这样的事情,但它不起作用。

protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
{
    if (sender.GetType() != typeof(GridView))
        return;
    DataTable dt = (DataTable)((GridView)sender).DataSource;

    DataTable dtClone = dt.Clone();


    dt.AsEnumerable().OrderBy(row => row.Field <string>(e.SortExpression));
    ((GridView)sender).Source(dtClone);
}

【问题讨论】:

    标签: c# asp.net .net linq gridview


    【解决方案1】:

    您可以将 gridview 重新绑定到已排序的数据表,也可以将排序表达式应用于 gridview 本身而不是底层绑定表。

    这是一个很好的总结,带有示例链接:

    http://msdn.microsoft.com/en-us/library/hwf94875.aspx

    【讨论】:

      【解决方案2】:

      在Gridview中添加属性OnSorting="gridView_Sorting" AllowSorting="true"

      SortExpression="ColumnName" 列中

      并实现 OnSorting 事件。

      检查链接

      Sorting the GridView's Data

      How to sort the data in grid view?

      How to sort data into GridView

      Sorting Data in a GridView

      How to sort GridView?

      【讨论】:

        【解决方案3】:

        我过去曾做过类似的事情来对 DataTable 进行排序:

        DataTable dt = new DataTable(); // your data table
        dt.DefaultView.Sort = "your_field" + "sort_direction";
        DataView dv = new DataView(dt);
        dv.Sort = ("your_field" + "sort_direction");
        yourGridView.DataSource = dv;
        

        【讨论】:

          【解决方案4】:

          排序时,请确保将表转换为 DataView。与手动实现排序方法相比,您将节省大量时间。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-03-02
            • 1970-01-01
            • 1970-01-01
            • 2015-07-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多