我有以下代码来创建两个绑定源。第一个是主表,第二个是基于关系的子表。
Dim DataSet As New DataSet
Dim BindingSource1 As New BindingSource
Dim BindingSource2 As New BindingSource
Dim DataTable1 As DataTable = GetDT1()
Dim DataTable2 As DataTable = GetDT2()
DataSet.Tables.Add(DataTable1)
DataSet.Tables.Add(DataTable2)
Dim Rel As DataRelation = New DataRelation("R", DataSet.Tables("DT1").Columns("C1"), DataSet.Tables("DT2").Columns("C1"), True)
DataSet.Relations.Add(Rel)
BindingSource1.DataSource = DataSet
BindingSource1.DataMember = "DT1"
BindingSource2.DataSource = DataSet
BindingSource2.DataMember = "R"
其中GetDT1和GetDT2如下:
Public Function GetDT1() As DataTable
Dim DT As New DataTable("DT1")
DT.Columns.Add(New DataColumn("C1"))
Dim R As DataRow = DT.NewRow
R("C1") = 1
DT.Rows.Add(R)
R = DT.NewRow
R("C1") = 2
DT.Rows.Add(R)
R = DT.NewRow
R("C1") = 3
DT.Rows.Add(R)
Return DT
End Function
Public Function GetDT2() As DataTable
Dim DT As New DataTable("DT2")
DT.Columns.Add(New DataColumn("C1"))
DT.Columns.Add(New DataColumn("C2"))
Dim R As DataRow = DT.NewRow
R("C1") = 1
R("C2") = "A"
DT.Rows.Add(R)
R = DT.NewRow
R("C1") = 1
R("C2") = "B"
DT.Rows.Add(R)
R = DT.NewRow
R("C1") = 2
R("C2") = "Coucou"
DT.Rows.Add(R)
Return DT
End Function
运行代码时,行中出现错误:
BindingSource2.DataMember=“R”
. 上面写着:
在数据源上找不到数据成员属性“R”。
有人知道我的密码怎么了吗?
干杯,