- - PR -
DataGridのソートの昇順・降順
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-10 18:30
ソートの昇順は下記のように出来たのですが、
昇順と降順の切り替えを行うにはどうしたらよいのでしょうか? ある本には「最後に行ったソートのフィールドと、そのソートが昇順か降順かを保持して おく必要がある。」と書かれていました。が、ソースは書いてありませんでした。 これはどうソースを書いたら実現出来ますか? よろしくお願いします。 Dim DT_ITEM As DataTable = CnOrdItm.get_Item_Detail(Con, ItemCls) 'DataTable型をDataView型に変換 Dim view As DataView = New DataView(DT_ITEM) 'ソート view.Sort = e.SortExpression 'ソートしたDataViewをバインド DataGrid1.DataSource = view DataGrid1.DataBind() | ||||
|
投稿日時: 2003-10-10 19:30
こんばんは。
昇順、降順は以下のようにしていました。 ----------------------------- Dim dt As New DataTable() (中略) Dim dv As New DataView(dt) '昇順 dv.Sort = "aaa" '降順 dv.Sort = "aaa DESC" ----------------------------- #aaa:ソートキー(DataGridのテキストフィールド名) ・・・で、どのように「切り替え」るのでしょうか? ボタンによって昇順、降順にソートするとか? [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-10-10 20:09 ] | ||||
|
投稿日時: 2003-10-10 19:53
どうもはじめまして、自分もソートを一番気にしていますが、どうも内容を読ませて頂いても理解出来ませんので、できればVBのソースをお送り頂ければと思います。
| ||||
|
投稿日時: 2003-10-10 20:31
私の言っている「切り替え」とはDataGridのヘッダー部分をクリックすると昇順、
もう一回クリックすると降順となることです。この繰り返しということです。 クリックカウンタのような変数を用意した方が良いのでしょうか? 偶数回クリックすると降順、奇数回だと昇順となるようにやろうと思います。 他に良い方法はありますでしょうか? よろしくお願いします。
| ||||
|
投稿日時: 2003-10-10 21:14
この辺など参考にならないでしょうか?
実例で学ぶASP.NETプログラミング 第7回 一覧ページを作る―DataGridコントロールに対するコーディング― 3.DataGridコントロールに列項目ごとの並べ替え機能を実装する [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-10-10 21:17 ] | ||||
|
投稿日時: 2003-10-10 21:59
なるほど。
参考どころか解決できました。ありがとうございました。
| ||||
|
投稿日時: 2003-10-17 01:06
ありがとうございました。
| ||||
|
投稿日時: 2003-10-17 09:33
本日追加のTipsでも
http://www.atmarkit.co.jp/fdotnet/dotnettips/074sortdg/sortdg.html ところでまゆりんさんの提示されている記事ですが、列1で昇順に並べ替えを行ったあと、列2を並べ替えようとすると降順になるのでは?ここは、「前回どの列でソートを行ったか」を貯めておき、「ソートしたい列と前回ソートした列は同じか」判断するようにしては如何? それと、クラスのsharedは、アプリケーションで保持される点に注意。複数の人が同時にアクセスしている場合、全ての人で共有されている、という意味。 |