C# ASP.NET GridView使用DataTable排序。选择

C# ASP.NET GridView使用DataTable排序。选择,c#,asp.net,gridview,C#,Asp.net,Gridview,是否可以使用DataTable.Select(“,sortExpression”)对ASP.NET GridView进行排序 我有一个带有AllowSorting=“true”和OnSorting=“grdeemployees\u Sorting”的常规GridView 不知道为什么,但这不起作用。网格显示了一组包含三列的行:RowError、RowState和HasErrors(包含所有空复选框的行) 我做错什么了吗?对数据表进行排序不需要选择。选择用于筛选 这就是你的分类方式 protect

是否可以使用DataTable.Select(“,sortExpression”)对ASP.NET GridView进行排序

我有一个带有AllowSorting=“true”和OnSorting=“grdeemployees\u Sorting”的常规GridView

不知道为什么,但这不起作用。网格显示了一组包含三列的行:RowError、RowState和HasErrors(包含所有空复选框的行)


我做错什么了吗?

对数据表进行排序不需要选择。选择用于筛选

这就是你的分类方式

protected void grdEmployees_Sorting(object sender, GridViewSortEventArgs e)
        {
            DataTable dt = getDataTable();

            var sortExprOrder = e.SortDirection == SortDirection.Ascending ? " ASC" : " DESC";

            DataView dv = new DataView(dt);
            dv.Sort = string.Format("{0} {1}",
                e.SortExpression, sortExprOrder);

            grdEmployees.DataSource = dv;
            grdEmployees.DataBind();
        }

dt.Select(“,sortExpression)返回数据行[]。为什么我不能将DataRow类型的数组分配给GridView的数据源?DataRow保存ItemArray中的数据,因此如果要绑定DataRow,需要绑定ItemArray集合,如GridView1.DataSource=rows。选择(r=>r.ItemArray[0]);
protected void grdEmployees_Sorting(object sender, GridViewSortEventArgs e)
        {
            DataTable dt = getDataTable();

            var sortExprOrder = e.SortDirection == SortDirection.Ascending ? " ASC" : " DESC";

            DataView dv = new DataView(dt);
            dv.Sort = string.Format("{0} {1}",
                e.SortExpression, sortExprOrder);

            grdEmployees.DataSource = dv;
            grdEmployees.DataBind();
        }