将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
添加列。
在您的情况下,您需要做的是隐藏当您绑定到DataTable
时生成的列3,然后将DataGridViewComboBoxColumn
添加到网格中,该网格将列3的名称作为其DataPropertyName
属性。
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataPropertyName = "3";
dataGridView1.Columns.Add(col);
然后为该列分配一个数据源,该数据源包含您希望在网格中显示的三个选项。
DataGridViewComboBoxColumn
也有ValueMember
和DisplayMember
属性,允许您控制在网格数据源(ValueMember
)中设置的内容和显示的内容。
DataGridViewComboBoxCell cbo1 = new DataGridViewComboBoxCell();
DataGridViewRow dataGridRow = new DataGridViewRow();
dataGridRow.Cells.Add(cbo1);
dataGridView1.Rows.Add(dataGridRow);
创建一个datagridview组合框并将其添加到datagridview1