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

本文关键字:net 运行时 DataGridView 类型 设置 | 更新日期: 2023-09-27 18:12:07

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

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

我想列3是一个下拉类型,并有3个选项在它。我如何在运行时做到这一点,因为我只在运行时填充网格。

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

您可以通过编程方式向DataGridView添加列。

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

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataPropertyName = "3";
dataGridView1.Columns.Add(col);

然后为该列分配一个数据源,该数据源包含您希望在网格中显示的三个选项。

DataGridViewComboBoxColumn也有ValueMemberDisplayMember属性,允许您控制在网格数据源(ValueMember)中设置的内容和显示的内容。

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

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