[英]Filling DataGridView ComboBox programatically in unbound mode?
以下代碼片段(問題在這里: http : //www.vbdotnetforums.com/winforms-grids/10038-fill-datagridview-combobox-column.html )用於在未綁定模式下填充 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")
Window是 DataGridView1 對象所在的窗體的名稱。
任何人都可以向我展示一種在未綁定模式下填充 datagridview 中的組合框的簡單方法。 你也可以告訴我為什么它對我不起作用,為什么它對其他人起作用?
您正在使用 GridViewComboBoxCell,而不是使用 GridViewComboBoxColumn 並參考下面給出的代碼片段,這將正常工作
Dim cbState As DataGridViewComboBoxColumn
cbState = DataGridView1.Columns("cbCol1")
cbState.Items.Add("Karnataka")
cbState.Items.Add("Andhra Pradesh")
上面的代碼將為 DataGridview 提供如下結果。
編輯 :
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.