- PR -

DatatableのSelectメソッド

1
投稿者投稿内容
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2004-12-16 10:34
こんにちは、なべぞうです。
DataTable.Select (String)メソッドについて
質問します。

DataTableをある列でソートしたいのですが、
Selectメソッドに指定する式がわかりません。
判る方教えていただけませんか??

ちなみにdataviewのソートはできました。
ただ実データがソートされないので、各データ
に連番を振り直す処理で不都合が起きたので
datatableでソートする方法を調べ中なのです。

宜しくお願いします。
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2004-12-16 10:47
書き方は
dt.Select("","列名1 asc");
ですかね。

でも結果が画面に反映されない・・。
DataRow[] dr0;
dr0 = dt.Select("","列名1 desc");
DataGrid1.DataSource = dt;
DataGrid1.DataBind();

ちなみに列名1は数値です。

[ メッセージ編集済み 編集者: なべぞう 編集日時 2004-12-16 10:59 ]
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-12-16 12:38
引用:
各データに連番を振り直す処理で不都合が起きたので

このときに DataView を使ったらまずいのですか?

それはそうとして、
引用:
DataRow[] dr0;
dr0 = dt.Select("","列名1 desc");

したなら、
コード:
DataGrid1.DataSource = dr0;
DataGrid1.DataBind();

ではないかと。
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2004-12-16 13:41
Osです。

これと関連してますか?
Live Demo: DataGridの複数のカラムを昇順/降順に並べ替えするには

解決したとのことで、特に指摘しなかったんですが、
下記の例だと、DataViewをSortした意味がなく、
DataGrid1.DataSource = dv;とするべきではないですか?

>DataTable dt = (DataTable)Session["DataTable"];
>DataView dv = dt.DefaultView;
>dv.Sort = "LISENCE DESC";
>DataGrid1.DataSource = dt;
>DataGrid1.DataBind();
なべぞう
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 98
お住まい・勤務地: 岡山県
投稿日時: 2004-12-16 16:03
にしざきさん、Osさん
レス有難うございます。

>にしざきさんへ

もともとdatatableが入っていたプロパティに
datarowを入れるのはOKなんでしょうか。
初心者なので、その辺の使い分けが、わかってないんです(^^;

>Osさんへ。

そのスレッドと関連してます。
表示はちゃんとソートされて表示されました。


引用:

Os_さんの書き込み (2004-12-16 13:41) より:
Osです。

これと関連してますか?
Live Demo: DataGridの複数のカラムを昇順/降順に並べ替えするには

解決したとのことで、特に指摘しなかったんですが、
下記の例だと、DataViewをSortした意味がなく、
DataGrid1.DataSource = dv;とするべきではないですか?

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


1

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