Winforms 在DataGridView中将项目添加到组合框

Winforms 在DataGridView中将项目添加到组合框,winforms,datagridview,Winforms,Datagridview,我在winforms应用程序中有一个DataGridView。 除了来自db表的4列之外,我还需要在datagridview[可能正在使用DataGridViewComboColumn?]中显示一个具有组合框的附加列。 2.然后我想为每一行的每个组合框添加不同的项目集 我该怎么办 谢谢。您可以尝试通过网格的数据绑定完成添加它们 这句话的意思是什么 void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCo

我在winforms应用程序中有一个DataGridView。 除了来自db表的4列之外,我还需要在datagridview[可能正在使用DataGridViewComboColumn?]中显示一个具有组合框的附加列。 2.然后我想为每一行的每个组合框添加不同的项目集

我该怎么办


谢谢。

您可以尝试通过网格的数据绑定完成添加它们

这句话的意思是什么

void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
       if (row.Cells[0] is DataGridViewComboBoxCell && row.Index == 1)
          (row.Cells[0] as DataGridViewComboBoxCell).Items.Add("A");
       else
          (row.Cells[0] as DataGridViewComboBoxCell).Items.Add("B");
    }
}
希望这有帮助 编辑

(row.Cells[0] as DataGridViewComboBoxCell).Value = (row.Cells[0] as DataGridViewComboBoxCell).Items[0];

当选择该单元格时,第一个值将显示为选中的

我在VB.NET中寻找答案,但在这里找到了C#答案

在VB中,您可以执行以下操作:

Private Sub DataGridView1_DataBindingComplete(sender As Object, e As DataGridViewBindingCompleteEventArgs) Handles DataGridView1.DataBindingComplete

    For Each row As DataGridViewRow in DataGridView1.Rows
        If TypeOf row.Cells(0) Is DataGridViewComboBoxCell AndAlso row.Index = 1 Then
            TryCast(row.Cells(0), DataGridViewComboBoxCell).Items.Add("A")
        Else
            TryCast(row.Cells(0), DataGridViewComboBoxCell).Items.Add("B")
        End If
    Next

End Sub
要编辑:

TryCast(row.Cells(0), DataGridViewComboBoxCell).Value = TryCast(row.Cells(0), DataGridViewComboBoxCell).Items(0)

非常感谢。这很有效。您能告诉我如何在每个单元格中显示dropdownlist中选择的第一项吗?