- 題名: DatagridViewのスクロールの同期
- 日時: 2008/06/27 12:18:09
- ID: 22360
- この記事の返信元:
- (なし)
- この記事への返信:
- [22361] Re[1]: DatagridViewのスクロールの同期2008/06/27 22:49:45
- ツリーを表示
例えば、
DataGridView.FirstDisplayedScrollingRowIndexプロパティと、
DataGridView.Scrollイベントを使用する方法があります。
Partial Public Class TestForm3
Dim WithEvents m_dgv1, m_dgv2 As New DataGridView
Private Sub testC()
Dim dt As New DataTable
With dt
.Columns.Add(New DataColumn("Int1", GetType(Integer)))
.Columns.Add(New DataColumn("Int2", GetType(Integer)))
.Columns.Add(New DataColumn("Text1", GetType(String)))
.Columns.Add(New DataColumn("Text2", GetType(String)))
For i As Integer = 0 To 20
Dim dr As DataRow = .NewRow()
dr.Item(0) = i
dr.Item(1) = 100 + i
dr.Item(2) = "あああ" + i.ToString
dr.Item(3) = "ううう" + i.ToString
.Rows.Add(dr)
Next
End With
m_dgv1.DataSource = dt
m_dgv2.DataSource = dt
Me.ClientSize = New Size(500, 250)
m_dgv1.Bounds = New Rectangle(10, 10, 230, 230)
m_dgv2.Bounds = New Rectangle(240, 10, 230, 230)
Me.Controls.Add(m_dgv1)
Me.Controls.Add(m_dgv2)
End Sub
Private Sub m_dgv1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles m_dgv1.Scroll, m_dgv2.Scroll
If sender Is m_dgv1 Then
m_dgv2.FirstDisplayedScrollingRowIndex = m_dgv1.FirstDisplayedScrollingRowIndex
m_dgv2.FirstDisplayedScrollingColumnIndex = m_dgv1.FirstDisplayedScrollingColumnIndex
ElseIf sender Is m_dgv2 Then
m_dgv1.FirstDisplayedScrollingRowIndex = m_dgv2.FirstDisplayedScrollingRowIndex
m_dgv1.FirstDisplayedScrollingColumnIndex = m_dgv2.FirstDisplayedScrollingColumnIndex
End If
End Sub
End Class
分類:[.NET]
はじめまして。
1つのDataGridViewのスクロールで別のDataGridViewのスクロールも同時に動かしたいと思い
http://dobon.net/vb/dotnet/datagrid/synchronousscroll.html
この記事を参考にしてみたのですが上手くいきません。
どのようにすればいいんでしょうか。