2015-05-21 85 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")