将DataGridView列类型设置为在运行时下拉(C#.net)

时间:2011-10-20 18:20:58

标签: c# .net datagridview combobox drop-down-menu

我有一个datagridview,它的数据源设置为数据视图 - >数据表和行&列在运行时自动生成。

    dtable.Columns.Add("1", typeof(int));
    dtable.Columns.Add("2", typeof(string));
    dtable.Columns.Add("3", typeof(string));
    datagridview1.DataSource = dtable;

我希望第3列是下拉类型,并且有3个选项。我如何在运行时执行此操作,因为我只在运行时填充网格。

2 个答案:

答案 0 :(得分:3)

您可以以编程方式将列添加到DataGridView

在您的情况下,您需要做的是隐藏绑定到DataTable时生成的第3列,然后将DataGridViewComboBoxColumn添加到网格中,其中第3列的名称为{{ 1}}属性。

DataPropertyName

然后,您可以将数据源分配给此列,其中该数据源包含您希望在网格中显示的三个选项。

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn(); col.DataPropertyName = "3"; dataGridView1.Columns.Add(col); 还具有DataGridViewComboBoxColumnValueMember属性,可让您控制在网格数据源(DisplayMember)中设置的内容以及显示的内容。

答案 1 :(得分:0)

   DataGridViewComboBoxCell cbo1 = new DataGridViewComboBoxCell();
   DataGridViewRow dataGridRow = new DataGridViewRow();
   dataGridRow.Cells.Add(cbo1);
   dataGridView1.Rows.Add(dataGridRow);

您创建了一个datagridview组合框并将其添加到datagridview1