2011年4月12日火曜日

DataGridViewのソート(sort)連動させる方法

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



'ソートが完了したとき


'グリッド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

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

DataGridViewで2つのグリッドを連動させてスクロールするには?

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


'スクロール時に2つのグリッドを連動して動かす

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

Private Sub DataGridView1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles DataGridView1.Scroll

'カラム ※あまり効果ない

Me.DataGridView2.FirstDisplayedScrollingColumnIndex = Me.DataGridView1.FirstDisplayedScrollingColumnIndex

'カラム

Me.DataGridView2.HorizontalScrollingOffset = Me.DataGridView1.HorizontalScrollingOffset

'行

Me.DataGridView2.FirstDisplayedScrollingRowIndex = Me.DataGridView1.FirstDisplayedScrollingRowIndex

End Sub

2011年2月20日日曜日

HashTableカンマキー

Dim ht As New Hashtable




ht.Add("", "1")

ht.Add("BBB,222", "2")

ht.Add("CCC,333", "3")

ht.Add("DDD,444", "4")



'キーが含まれているか確認

If ht.ContainsKey("DDD,444") Then

'数値インクリメント

'値の数値判定

If IsNumeric(ht("DDD,444")) Then

Dim index As Integer = CInt(ht("DDD,444")) + 1

ht("DDD,444") = index

End If

Else

'含まれていなければ追加

ht.Add("DDD,444", "1")

End If



'キーの数だけループ

Dim strKeysVal() As String

For Each strKey As String In ht.Keys

'コンマで分割

strKeysVal = strKey.Split(",")

'キーの配列長さ判定

If strKeysVal.Length > 1 Then

'値の数値判定

If IsNumeric(ht(strKey)) Then

Dim index As Integer = CInt(ht(strKey))



End If

End If

Next

2011年2月5日土曜日

マルチグリッドサンプル

http://www.4shared.com/file/cmyWDrnq/DataGridMultiHead.html

Word.Applicationが使用できない 使用方法

Office PIAs の 参照の場所が間違っていると考えられます。
例)
C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Office.dll