DataGridViewのソートを解除するには?

解決


fumofumo  2009-04-24 22:23:46  No: 141858

開発環境:WinXP(SP3)  VB2005  Oracle 9i

①検索条件を入力
②検索ボタンを押す
③検索結果を DataGridView に表示
の画面を作成しています。

そこで、DataGridView の任意の列ヘッダをクリックしてソートした後に、
再度①、②の動作をした時に、前に列ヘッダをクリックしてソート
したものが引き継がれて前にクリックした列ヘッダの項目で
ソートされてしまします。
これを再度①、②の動作をした時に前にクリックした列でのソートを
解除したいと考えています。

調べた結果 BindingSource の Sort プロパティをNothingにすれば
解除出来ることは分かったのですが、BindingSourceを使用せずに
解決できる方法があればご教授下さい。


特攻隊長まるるう  2009-05-04 19:22:46  No: 141859

> 調べた結果 BindingSource の Sort プロパティをNothingにすれば
> 解除出来ることは分かったのですが、BindingSourceを使用せずに
> 解決できる方法があればご教授下さい。
先に理由・必要となる要件を全て提示しておいてください。


fumofumo  2009-05-07 17:06:34  No: 141860

特攻隊長まるるう さんご指摘ありがとうございます。

BindingSource だと DataGridView の数だけ BindingSource を
配置するようになると思うのですが、もうすでに DataGridView
を使用して幾つかアプリケーションを作成しており、変更に
それなりに時間がかかりそうなので DataGridView の機能もしくは
BindingSource を使用するより早く変更が可能な方法がないか
探しています。

以上宜しくお願いします。
※不明、不透明な部分がございましたらご指摘のほどお願いします。


Hongliang  2009-05-07 19:14:04  No: 141861

DataGridView に表示するデータはどうやってますか?
DataTable または DataSet を DataSource に設定している?
DataGridView.Rows に直接 Add している?


fumofumo  2009-05-07 20:22:30  No: 141862

DataGridView には SQLの結果をDaraSetに
入れて DataSource に設定しています。

肝心なところが抜けいてました。
すいません。m(_ _)m


Hongliang  2009-05-07 20:38:08  No: 141863

> DataGridView には SQLの結果をDaraSetに
> 入れて DataSource に設定しています。

この場合 DataGridView は、DataMember プロパティで指定された DataTable の、DefaultView で返される DataView を表示用データとして使用します。
この DataView にはソートやフィルタに使用できるプロパティが用意されています。
Sort プロパティに空文字列または null/Nothing が代入された場合、基となる DataTable の行順番通りに並べられます。


fumofumo  2009-05-08 00:14:29  No: 141864

Hongliang さんアドバイスありがとうございます。

DataView の Sort プロパティを使用したら簡単且つ
短時間でできました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加