0
DataTable.Select( ""、sortExpression)を使用してASP.NET GridViewを並べ替えることはできますか?ASP.NET GridView DataTable.Selectを使用して並べ替え
AllowSorting = "true"およびOnSorting = "grdEmployees_Sorting"の規則的なGridViewがあります。
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の3つの列を持つ行が表示されます(すべての空のチェックボックスがある行が含まれます)。
何か間違っていますか?
dt.Select( ""、sortExpressionが)のDataRow []返す方法
これをフィルタリングするためです。 GridViewのDataSourceにDataRow型の配列を割り当てることができないのはなぜですか? – Pavel
DataRowはItemArrayにデータを保持しているので、DataRowをバインドする場合は、GridView1.DataSource = rows.Select(r => r.ItemArray [0]);のようにItemArrayのコレクションをバインドする必要があります。 – Krishna