0
是否可以使用DataTable.Select(“”,sortExpression)排序ASP.NET GridView?ASP.NET GridView使用DataTable排序。选择
我有一个正常的GridView与AllowSorting =“true”和OnSorting =“grdEmployees_Sorting”。
protected void grdEmployees_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dt = getDataTable();
var sortExprOrder = e.SortDirection == SortDirection.Ascending ? " ASC" : " DESC";
var rows = dt.Select("", string.Format(e.SortExpression + "{0}", sortExprOrder));
grdEmployees.DataSource = rows;
grdEmployees.DataBind();
}
不知道为什么,但这不起作用。网格显示了一堆有三列的行,RowError,RowState和HasErrors(包含所有空复选框的行)。
我做错了什么?
dt.Select( “” 的SortExpression)返回的DataRow []。为什么我不能将DataRow类型的数组分配给GridView的DataSource? – Pavel
DataRow将数据保存在ItemArray中,因此如果要绑定DataRow,则需要绑定ItemArray的集合,如GridView1.DataSource = rows.Select(r => r.ItemArray [0]); – Krishna