VB.NET: TabControl DataRelations

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bterblanche
    New Member
    • Aug 2006
    • 1

    #1

    VB.NET: TabControl DataRelations

    I've got 3 tables. Table1 is the master table and tables 2 & 3 are detail tables related to table1. On the VB.net Windows form I've added several textboxes binded to table1 as a header and a tabcontrol containing seperated pages for each detail table. Each containing a datagrid and navigator. I've managed to setup a relation between table1 and table2 and all the controls works fine but for the life of me I can't get the relation between table1 and table3 to work. Neither the navigator nor the grid is working properly. Please help. Below is the code I use:

    Code:
     Dim daMatchSetup As Odbc.OdbcDataAdapter 
    Dim daTable2 As Odbc.OdbcDataAdapter
    Dim daTable3 As Odbc.OdbcDataAdapter
     
    Dim parentCol2() As DataColumn
    Dim childCol2() As DataColumn
     
    Dim parentCol3() As DataColumn
    Dim childCol3() As DataColumn
     
    Dim rel2 As DataRelation
    Dim rel3 As DataRelation
     
     
    Try
    MyConn.Open()
    MyDataSet = New DataSet
     
    daTable1 = New Odbc.OdbcDataAdapter
     
    MyDataSet = GetDataSet(MyDataSet, MyConn, daTable1, _
    "SELECT * FROM table1", "table1")
     
    daTable2 = New Odbc.OdbcDataAdapter
    MyDataSet = GetDataSet(MyDataSet, MyConn, daTable2, _
    "SELECT * FROM table2", "Table2")
     
    daTable3 = New Odbc.OdbcDataAdapter
    MyDataSet = GetDataSet(MyDataSet, MyConn, daTable3, _
    "SELECT * FROM table3", "Table3")
    Catch
     
    End Try
    MyConn.Close()
     
    parentCol2 = New DataColumn() {MyDataSet.Tables("table1").Columns("Table1_Field1"), MyDataSet.Tables("Table1").Columns("Table1_field2")}
    childCol2 = New DataColumn() {MyDataSet.Tables("Table2").Columns("Table1_field1"), MyDataSet.Tables("Table2").Columns("Table1_field2")}
     
    rel2 = New DataRelation("Table1_Table2", parentCol2, childCol2)
    rel2.Nested = True
    MyDataSet.Relations.Add(rel2)
     
    parentCol3 = New DataColumn() {MyDataSet.Tables("Table1").Columns("Table1_field1"), MyDataSet.Tables("Table1").Columns("Table1_field2")}
    childCol3 = New DataColumn() {MyDataSet.Tables("Table3").Columns("Table1_field1"), MyDataSet.Tables("Table3").Columns("Table1_field2")}
     
    rel3 = New DataRelation("Table1_Table3", parentCol3, childCol3)
    rel3.Nested = True
    MyDataSet.Relations.Add(rel3)
     
    frmTest.bnsTable1.DataSource = MyDataSet
    frmTest.bnsTable1.DataMember = "table1"
     
    frmTest.bnsTable2.DataSource = frmTest.bnsTable1
    frmTest.bnsTable2.DataMember = "Table1_Table2"
     
    frmTest.bnsTable3.DataSource = frmTest.bnsTable1
    frmTest.bnsTable3.DataMember = "Table1_Table3"
     
    frmTest.bnvTable1.BindingSource = frmTest.bnsTable1 
    frmTest.bnvTable2.BindingSource = frmTest.bnsTable2
    frmTest.bnvTable3.BindingSource = frmTest.bnsTable3
     
    frmTest.dgvTable2.DataSource = frmTest.bnsTable1
    frmTest.dgvTable2.DataMember = "Table1_Table2"
     
    frmTest.dgvTable3.DataSource = frmTest.bnsTable1
    frmTest.dgvTable3.DataMember = "Table1_Table3"
    Thanks in advance.
    Last edited by Niheel; Aug 24 '06, 09:16 AM.
Working...