DataGridView Tips集(ソートに関する設定色々) (309) 玄関へお回り下さい。
 
1. DataGridView の指定の列のデータをキーに昇順・降順でソートする
2. DataGridView で複数列をキーにソートする
3. DataGridView でユーザーがマウスのクリックでソートできないように設定
4. DataGridView の
5. DataGridView の
6. DataGridView の
開発環境 WindowsVista VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86
[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定
その他条件 使用データ(dgvdat1.csv)は、次よりダウンロードして使って下さい。        dgvdat309.zip
データファイルは、プログラムの起動フォルダーに入れておいてください。
DataGridViewに表示(その1) で、データを表示した状態で実施してください。
下記サンプルコードと同等のイベントで実施してください。 
1.DataGridView の指定の列のデータをキーに昇順・降順でソートする

Private Sub Button109_Click(ByVal sender As System.Object, _
                            ByVal e As System.EventArgs) Handles Button109.Click
   '降順でソートを実施
   DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Descending)

   '昇順ソートを実施
   DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Ascending)
End Sub

2.DataGridView で複数列をキーにソートする

Private Sub Button110_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button110.Click
'DataView.Sortプロパティを使っての複数列をキーにソート
   'DataView の作成(MSDN の DataView を使用したデータの並べ替えとフィルター処理 を参照)
      'DataView.Sortプロパティを使って(DataView の並べ替え列と並べ替え順序を取得または設定) 
     
Dim view As DataView = CType(DataGridView1.DataSource, DataTable).DefaultView
      view.Sort = 
"支店 ASC,部署名 ASC,達成率 DESC"

End Sub

3.DataGridView でユーザーがマウスのクリックでソートできないように設定

Private Sub Button111_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button111.Click
   'ソート禁止
   
For Each c As DataGridViewColumn In DataGridView1.Columns
         c.SortMode = DataGridViewColumnSortMode.NotSortable
   
Next c


   'ソート実行可
   
For Each c As DataGridViewColumn In DataGridView1.Columns
         c.SortMode = DataGridViewColumnSortMode.Automatic
   
Next c

End Sub

4.DataGridView の  
5.DataGridView の  
6.DataGridView の  


2011/05/20


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0
VB.NET2003/VB2005/VB2008/VB2010