2015-05-21 88 views
1

所以我在表单中有一个DataGridView,并且我想限制向它的单元添加数据。在DataGridView中限制输入c#

我试图使任何添加的行的单元格组合框,以便用户将不得不从组合框中选择单元格的数据。

此外,当用户向最后一行添加任何值时,dataGridView将自动创建一个新行,并且此新行将作为组合框添加。

这张图片显示了我的表格,我知道每列的期望值,这就是为什么我想用每个单元格中的组合框限制它。

first pic

回答

1

当您创建的列,创建它们各自为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); 
    } 
} 

Choosing from column("Foo") Choosing from column("Bar") Choosing from column("Baz")