2016-10-03 45 views
-1

我有一個datatable(dsBrands),我想要在datagridview中顯示。 datagridview中的組合框從不同的表中選擇(dsGroups)。如何在組合框中顯示當前存儲在dsBrands表中的值?下面是我的代碼,除了組合框留空。組合框集合從dsGroups正確填充。需要在dsBrands的組合框中顯示的值位於集合中。 - >只是讓這條線脫穎而出,而不是實際的代碼。在VB.NET我有問題使用數據表填充DataGridView組合框

Private Sub FillBrands() 
    Dim TransCount As Integer 
    Dim Group As String 

    If Not ds.Tables.Contains("dsBrands") Then Else ds.Tables("dsBrands").Clear() 
    conn.Open() 
    daBrands = New OleDbDataAdapter("Select * from Brands", conn) 

    daBrands.FillSchema(ds.Tables("dsBrands"), SchemaType.Source) 
    daBrands.Fill(ds, "dsBrands") 
    conn.Close() 

    dgv1.AutoGenerateColumns = False 
    bs1.DataSource = ds.Tables("dsBrands") 
    dgv1.DataSource = bs1 

    Dim colDisplay As New DataGridViewCheckBoxColumn 
    colDisplay.DataPropertyName = "Display" 
    colDisplay.HeaderText = "Include?" 
    colDisplay.Name = "Display" 
    colDisplay.Visible = True 

    Dim colGroupList As New DataGridViewComboBoxColumn 
    colGroupList.HeaderText = "Add to Group" 
    colGroupList.Name = "GroupList" 
    colGroupList.Visible = True 
    colGroupList.DataSource = ds.Tables("dsGroups") 
    --> colGroupList.DataPropertyName = "BGroup" 'BGroup is a field in dsBrands table. 

    dgv1.Columns.Add(colDisplay) 
    dgv1.Columns.Add(colBrand) 
    dgv1.Columns.Add(colGroup) 
    dgv1.Columns.Add(colGroupList) 

End Sub 

回答

0

正如結合常規ComboBox時,你需要設置你列的DisplayMemberValueMember性能。 DisplayMember指定其值顯示的列,ValueMember指定其值與網格數據相對應的列。 ValueMember應指定綁定到與綁定到網格的表的FK列對應的列的表的PK列。