所以我在表单中有一个DataGridView,我想限制向其单元格添加数据 .
我试图使任何添加行的单元格成为组合框,以便用户必须从组合框中选择单元格的数据 .
此外,当用户向最后一行添加任何值时,dataGridView将自动创建一个新行,并且此新行将添加为组合框 .
这张照片显示了我的表格,我知道每列的预期值,这就是为什么我想用每个单元格中的组合框来限制它 .
创建列时,将它们创建为 DataGridViewComboBoxColumn . 如你所说:
DataGridViewComboBoxColumn
[您]知道每列的预期值
因此,您可以使用每个列的源绑定以这种方式创建列 . 例如:
public Form1() { InitializeComponent(); List<List<string>> options = new List<List<string>>() { new List<string>() { "Foo 1", "Foo 2", "Foo 3" }, new List<string>() { "Bar 1", "Bar 2", "Bar 3" }, new List<string>() { "Baz 1", "Baz 2", "Baz 3" } }; List<string> names = new List<string>() { "Foo", "Bar", "Baz" }; for (int i = 0; i < names.Count; i++) { DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn(); col.Name = names[i]; col.DataSource = options[i]; this.dataGridView1.Columns.Add(col); } }
1 回答
创建列时,将它们创建为
DataGridViewComboBoxColumn
. 如你所说:因此,您可以使用每个列的源绑定以这种方式创建列 . 例如: