2014-12-26 39 views
1

下面的代码片段(现在的问题是在这里:http://www.vbdotnetforums.com/winforms-grids/10038-fill-datagridview-combobox-column.html)可以在非绑定模式一个DataGridView填充组合框格:以未绑定模式以编程方式填充DataGridView组合框?

Dim dgvcc As DataGridViewComboBoxCell 
dgvcc = DataGridView1.Rows(2).Cells(0) 
dgvcc.Items.Add("comboitem1") 
dgvcc.Items.Add("comboitem2") 

我想这样做,但我不能不通知,铸造操作无效,这是VB给我的确切的错误。

我调整了代码一点,并尝试过,但我仍然得到同样的错误铸造:

Dim dgvcc As Windows.Forms.DataGridViewComboBoxCell 
dgvcc = Window.DataGridView1.Rows(2).Cells(0) 
dgvcc.Items.Add("comboitem1") 
dgvcc.Items.Add("comboitem2") 

窗口是其中DataGridView1客体是形式的名称。

任何人都可以请给我看一个简单的方法来填充数据网格中的一个组合框在未绑定模式。你可以告诉我为什么它不起作用,它为别人工作?

回答

2

你正在服用的GridViewComboBoxCell,而不是采取GridViewComboBoxColumn并参考下面给出的代码片段,这将很好地工作

Dim cbState As DataGridViewComboBoxColumn 
    cbState = DataGridView1.Columns("cbCol1") 
    cbState.Items.Add("Karnataka") 
    cbState.Items.Add("Andhra Pradesh") 

上面的代码会给出一个结果,就像下面的DataGridView的。

enter image description here

编辑:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim cbState As DataGridViewComboBoxColumn 
    cbState = DataGridView1.Columns("cbCol1") 
    cbState.Items.Insert(0, "Karnataka") 
    cbState.Items.Add("Andhra Pradesh") 

End Sub 

Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting 
    If e.ColumnIndex = 0 Then 
     e.Value = "Karnataka" 
    End If 
End Sub 
+0

感谢的人!欣赏它! –

+0

欢迎....... !! –

+0

嗨,你知道如何设置组合框来显示它的一个成员作为默认时,它加载? –

相关问题