- PR -

Live Demo: DataGridの複数のカラムを昇順/降順に並べ替えするには

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-08-21 09:21
View a live demo をクリックするとDataGridのサンプルが表示されます。

このサンプルは、DataGridの複数のカラムを昇順/降順に並べ替えします。
カラムの見出しをクリックすると、そのカラムを並べ替えします。
見出しに番号@-Cが表示されているとき、見出しをクリックすると
降順=>昇順=>降順...に並べ替えします。

見出しの番号をクリックすると並べ替えを解除します。


DataGridのカラムを並べ替えするには
DataViewのSortプロパティを使用します。

myDataView.Sort = "PostalCode Asc, Kana Asc"
myDataGrid.DataSource = myDataView
myDataGrid.DataBind()

このサンプルは、DataGridのBoundColumnをランタイム時に
ダイナミックに生成しています。

Happy Programming!
Akio Kasai
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2004-12-15 10:42
こんにちは。
いまDatagridのヘッダに昇順ボタンと降順ボタンを追加して
ソート機能を実装しようと試みています。

ただDatagridのプロパティがDatasetというのか原因なのか
下記のソースではソートが実現できていません。

Datasetでソートする方法があれば教えて頂けないでしょう
か。

DataTable dt = (DataTable)Session["DataTable"];
DataView dv = dt.DefaultView;
dv.Sort = "LISENCE DESC";
DataGrid1.DataSource = dv.Table;
DataGrid1.DataBind();
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2004-12-15 14:55
自己レスです。
なんとか解決しました。
画面に張っているDatasetを削除。
DatagridのDataSourceにdatatableを
セットするとソートされました。

ソースは以下の通り。

DataTable dt = (DataTable)Session["DataTable"];
DataView dv = dt.DefaultView;
dv.Sort = "LISENCE DESC";
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
1

スキルアップ/キャリアアップ(JOB@IT)