- - PR -
DataGridView ソート禁止
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-08 18:10
VB2005のDataGridView に関して教えてください。
列ヘッダをクリックしたときに そのイベントを受け取ってそのイベント内で ソートをキャンセルできませんか? 一度 RowHeaderMouseClickでCancelを受け取ろうとしましたが 出来ませんでした。 | ||||||||
|
投稿日時: 2007-06-08 18:39
こういうことかな: 「DataGridViewColumn.SortMode プロパティ」 [ メッセージ編集済み 編集者: lalupin4 編集日時 2007-06-08 23:46 ] | ||||||||
|
投稿日時: 2007-06-09 11:06
ご返答有難うございます。
最終的にやりたいことはSotemodeにてできるのですが、 ”HeaderCellをクリックされたときのイベントハンドラを使って” という手法を使いたいので アドバイスお願いいたします。 | ||||||||
|
投稿日時: 2007-06-09 15:34
諸農です。
キャンセルの条件がよく分からないのですが、SortModeをProgrammaticにしておいて、DataGridView.ColumnHeaderMouseClickイベントの説明の所に書かれているサンプルのようなソート処理をキャンセル/スキップまたは実行するようにするってことではいかがでしょうか? Automaticに設定されているものをキャンセルしたいということでしたら、それはプログラムでの実装をすると言う事になると思います。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2007-06-09 19:44
DataGridViewにデータをバインドした情報は
30列100行になります。 バインド後その30行に対してSortModeをソートできないように指定するのですが その部分だけで処理が5sec近くかかっておりました。 そのため、SortModeを指定しない方法を考えると Headerをクリックしたときにキャンセルしたらできる と思ったため 今回の方法を思いつきました。 | ||||||||
|
投稿日時: 2007-06-10 05:57
諸農です。
30列で5秒というのは驚きですね。 下のコードで計測を試してみましたが大体100ミリ秒以下に収まっているようです。
_________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1