2011年4月7日木曜日

DataGridViewが2つあり片方がソートされたらもう一方もソートするには?

'----------------------------------------------------------------------------------------------


'ソートが完了したとき

'グリッド2もソートする

'----------------------------------------------------------------------------------------------

Private Sub DataGridView1_Sorted(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.Sorted

'------------------------------------------------------------------------------------------

'機能:データグリッド連動ソート

'メモ:DataGridView1のソート順が変更されたら、

'   DataGridView2のソート順も連動して変更させる処理

'------------------------------------------------------------------------------------------

'ソートが実施されたカラム

Dim srtdCol As DataGridViewColumn = Me.DataGridView1.SortedColumn

'オーダー順序はヘッダーから取得(SortGlyphDirection)

Dim srtdOrder As SortOrder = Me.DataGridView1.Columns(srtdCol.Index).HeaderCell.SortGlyphDirection

'並び替えが実施されると昇順、降順のどちらかでNoneは指定されなくなる

If srtdOrder = SortOrder.Ascending Then

'Ascending

Me.DataGridView2.Sort(Me.DataGridView2.Columns(srtdCol.Index), System.ComponentModel.ListSortDirection.Ascending)

ElseIf srtdOrder = SortOrder.Descending Then

'Descending

Me.DataGridView2.Sort(Me.DataGridView2.Columns(srtdCol.Index), System.ComponentModel.ListSortDirection.Descending)

End If

End Sub

0 件のコメント:

コメントを投稿