C# 如何在asp.net中对GridView中的数据进行排序

C# 如何在asp.net中对GridView中的数据进行排序,c#,asp.net,.net,linq,gridview,C#,Asp.net,.net,Linq,Gridview,如何根据某列对GridView获取的数据表进行排序。 我正试图做这样的事情,但它不起作用 protected void GridView_Sorting(object sender, GridViewSortEventArgs e) { if (sender.GetType() != typeof(GridView)) return; DataTable dt = (DataTable)((GridView)sender).DataSource; Dat

如何根据某列对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);
}
protectedvoid GridView\u排序(对象发送方,GridViewSortEventArgs e)
{
if(sender.GetType()!=typeof(GridView))
返回;
DataTable dt=(DataTable)((GridView)sender.DataSource;
数据表dtClone=dt.Clone();
dt.AsEnumerable().OrderBy(row=>row.Field(e.SortExpression));
((GridView)发送方)。源(dtClone);
}

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

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


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

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


在gridView中添加属性
OnSorting=“gridView\u Sorting”AllowSorting=“true”

和列中的
SortExpression=“ColumnName”

开展体育赛事

检查链接


在gridView中添加属性
OnSorting=“gridView\u Sorting”AllowSorting=“true”

和列中的
SortExpression=“ColumnName”

开展体育赛事

检查链接


我以前做过类似的事情来对数据表进行排序:

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;

我在过去做过类似的事情来对数据表进行排序:

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;

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

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