- - PR -
DataGrid ソートの解除について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-02-16 15:43
はじめまして、こんにちわ!
WindowsFormにてDataGridを表示しています。 DataGridのカラムヘッダーテキストセルをクリックすると、 項目の並び替え(ソート)が実行されますが、 クリックするたびに昇順と降順が切り替わるだけで 元に(ソート前の並び順に)戻すことができません。 ソートは解除できるのでしょうか? また、解除の方法としてはどのような処理をすれば良いのでしょうか。 よろしくお願いいたします。 |
|
投稿日時: 2005-02-16 16:51
Grid項目の並びかわった状態を最初の状態にもどすのが目的なのか?
ソートそのものをしないようにするのか? どちらでしょう? 後者だとしたら .AllowSortingプロパティは試したのでしょうか?(デフォルト:=True->=Falseにする) |
|
投稿日時: 2005-02-16 17:00
ななお 様
こちらの説明不足でした、申し訳ございません。 ヘッダーセルクリックにてソートをさせるのは必要条件でして、 "ソートを実行した後にソートを解除"する方法を模索しております。 つまり、前者になります。 AllowSortingの切り替えを行ったり、 DataSorceの再バインド等を試しましたがソートが保持されたままで困っています。 よろしくお願いいたします。 |
|
投稿日時: 2005-02-16 17:28
私もユーザーから似たような事を言われた事がありました。
その時は、 『ID』という列を先頭に追加して、 バインド時に各行に番号を採番しました。 これで、他の列で並び替えを行った後、元に戻したい場合は 『ID』の列で再度並び替えを行って下さい・・・って事にしました。 |
|
投稿日時: 2005-02-16 18:41
おふぃすこま 様
貴重な情報ありがとうございました、 一度諦めかけたのですが再度ソースコードの見直しをした結果、 ソートの解除を実現できることが分かりました! ---- 以下コード ---- 'DataGrdiのバインディングを解除 DataGrid.DataSource = Nothing '〜〜〜〜(略)DataTableの内容を変更する処理〜〜〜〜 'DataGridに再バインド DataGrid.DataSource = DataTable1 'ソートを解除 DataTable1.DefaultView.Sort = "" ----------------- お手数をおかけして申しわけありません。 お知恵を貸してくださいました皆様、 ありがとうございました! [ メッセージ編集済み 編集者: Coup 編集日時 2005-02-16 19:23 ] |
1