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