DataGridViewのソート解除

  • 2009.10.01 Thursday
  • 17:50
これまた難しい問題です。
ソート解除、つまり、カラムヘッダに付いている三角マークを消す方法ですが、

ソート


たぶんDataSourceにデータが入っている場合は、
データソース側のsortをNullにしてあげればよいでしょう。
たとえば、BindingSourceがバインドされているなら、
 
Me.BindingSourceData.Sort = ""

という要領で、バインドの方を解除してあげる。

DataGridViewからやるには、
 
Dim tData As DataTable = CType(Me.DataGridView1.DataSource, DataTable) 'テーブルを読み取る
Dim vData as DataView = tData.DefaultView 'テーブルからビューを読み取る
‌ 
vData.Sort = "" 'ソート条件に空(Null)を代入

という感じだと思います(違っていたらごめんなさい)。


DataSourceではなく、Row.Addで追加した場合、
これはソートした場合、たぶんソート結果を解除しても、もとの状態には戻せないようです。
(ただ単にセルに情報を書き込んだだけで、データソースとして値を持っていないからでしょう)

とりあえず、その場合でも、三角マークは消せます。

Me.DataGridVire1.HeaderCell.SortGlyphDirection = Windows.Forms.SortOrder.None 'ソートを解除


で消えるみたいです。

ちなみに、VB2008のソースです。


関連投稿
検索中(DataView.RowFilterしている)のDataTableからさらに検索する 追記:検索中に別の検索をする
DataViewのデータ(抽出結果)からDataTableの位置を検索
DataSource(DataTable)を検索する
DataViewの検索フィルタ〜VB2008
 
コメント
コメントする








    
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< July 2020 >>

search this site.

よく使う、検索される投稿

categories

■Google AD■

アマゾン

楽天

selected entries

archives

recent comment

recent trackback

profile


※当ブログはリンクフリーですが、 取材や雑誌等で掲載される場合は、事前にお知らせください

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM