2012-02-09 21 views
1

我的數據gridview沒有綁定到數據源,它有一個組合框名稱Test2。我將在它運行time.Following串是我的代碼製作列表<string>與datagridview列兼容嗎?

DataGridViewComboBoxColumn comboBox = (DataGridViewComboBoxColumn)dataGridView1.Columns["Test2"]; 
     string[] arr1 = new string[] { "a", "b", "c" }; 
     comboBox.Items.AddRange(arr1); 

反倒是字符串數組我感興趣的使用List<string>。對於這些代碼,我寫這是

DataGridViewComboBoxColumn comboBox = (DataGridViewComboBoxColumn)dataGridView1.Columns["Test2"]; 
     List<string> data = new List<string>(); 
     data.Add("a"); 
     data.Add("b"); 
     data.Add("c"); 
     comboBox.Items.AddRange(data); 

但現在datagridview combo box是僅顯示(Collection)字符串。任何想法我怎麼能讓List<string>工作。解決辦法是我可以做的是將List<string>更改爲字符串數組,但它會效率低下。

+1

爲什麼你不希望使用DataSource和的DataBind()? – Peter 2012-02-09 07:00:39

+0

@Peter這個數據來自'distinct'查詢,我認爲當你綁定'datasource'時,你會得到所有的數據而不是特定的查詢。 – 2012-02-09 07:04:31

+0

@Peter你是正確的'DataSource'部分,抱歉沒有'DataBind()'winform – V4Vendetta 2012-02-09 07:05:26

回答

2

不知道,但你可以做這樣的事情

DataGridViewComboBoxColumn d = new DataGridViewComboBoxColumn(); 
List<string> data = new List<string>();   
data.Add("a");   
data.Add("b");   
data.Add("c"); 
d.DataSource = data ; 
+0

感謝它的工作,感謝您的幫助。 – 2012-02-09 07:06:31

+0

+1正在輸入相同的東西:) – V4Vendetta 2012-02-09 07:06:45