トップ回答者
BindingNavigator1とDataGridView1を関連付けたい

質問
-
VB2005+SQLServer2005を使用しています。
以下のコードは、インターネットで探したものを流用し少し変えています。
会員と会員例歴テーブルのリレーションはとれており、1対多でDataGridView1とDataGridView2に
表示されます。
:質問です:BindingNavigator1とDataGridView1を関連付けたいのですが、どのようにすればよいのでしょうか。
次に移動をクリックすると、DataGridView1を下に移動して欲しいのです。
基本的な事を理解していないかと思いますが、よろしくお願いします。
Private Shared Sub ConnectToData(ByVal connectionString As String)
Using connection As SqlConnection = New SqlConnection(connectionString)
Dim KaiinAdapter As SqlDataAdapter = New SqlDataAdapter()
KaiinAdapter.TableMappings.Add("Table", "会員")connection.Open()
Dim KaiinCommand As SqlCommand = New SqlCommand("SELECT * FROM 会員", connection)
KaiinCommand.CommandType = CommandType.Text
KaiinAdapter.SelectCommand = KaiinCommand
Dim dataSet As DataSet = New DataSet()
KaiinAdapter.Fill(dataSet)Dim KaiinRirekiAdapter As SqlDataAdapter = New SqlDataAdapter()
KaiinRirekiAdapter.TableMappings.Add("Table", "会員履歴")
Dim KaiinRirekiCommand As SqlCommand = New SqlCommand("SELECT * FROM 会員履歴", connection)
KaiinRirekiAdapter.SelectCommand = KaiinRirekiCommand
KaiinRirekiAdapter.Fill(dataSet)connection.Close()
Dim parentColumn As DataColumn = dataSet.Tables("会員").Columns("管理NO")
Dim childColumn As DataColumn = dataSet.Tables("会員履歴").Columns("管理NO")
Dim relation As DataRelation = New System.Data.DataRelation("会員_履歴", parentColumn, childColumn)
dataSet.Relations.Add(relation)With Form1
.DataGridView1.DataSource = dataSet
.DataGridView1.DataMember = "会員"
.DataGridView2.DataSource = dataSet
.DataGridView2.DataMember = "会員.会員_履歴"
.BindingSource1.DataSource = dataSet ' これと
.BindingNavigator1.BindingSource = .BindingSource1 ' これが有効になってほしい
End WithEnd Using
End Sub
回答
-
mitch さんからの引用 With Form1
.DataGridView1.DataSource = dataSet
.DataGridView1.DataMember = "会員"
.DataGridView2.DataSource = dataSet
.DataGridView2.DataMember = "会員.会員_履歴"
.BindingSource1.DataSource = dataSet ' これと
.BindingNavigator1.BindingSource = .BindingSource1 ' これが有効になってほしい
End With以下のような感じで。
Code SnippetWith Form1
.BindingSource1.DataSource = dataSet
.BindingSource1.DataMember = "会員".DataGridView1.DataSource = BindingSource1
.DataGridView2.DataSource = BindingSource1
.DataGridView2.DataMember = "会員_履歴".BindingNavigator1.BindingSource = .BindingSource1
End With
すべての返信
-
mitch さんからの引用 With Form1
.DataGridView1.DataSource = dataSet
.DataGridView1.DataMember = "会員"
.DataGridView2.DataSource = dataSet
.DataGridView2.DataMember = "会員.会員_履歴"
.BindingSource1.DataSource = dataSet ' これと
.BindingNavigator1.BindingSource = .BindingSource1 ' これが有効になってほしい
End With以下のような感じで。
Code SnippetWith Form1
.BindingSource1.DataSource = dataSet
.BindingSource1.DataMember = "会員".DataGridView1.DataSource = BindingSource1
.DataGridView2.DataSource = BindingSource1
.DataGridView2.DataMember = "会員_履歴".BindingNavigator1.BindingSource = .BindingSource1
End With