2012-08-01 115 views
0

如何創建使用4個不同列表的datagridview。如何將多個列表<string>插入到datagridview中

List<string> experience = new List<string>(); 
    List<string> Cname = new List<string>(); 
    List<string> Clink = new List<string>(); 
    List<string> Ccomp = new List<string>(); 

我必須根據上面的4列表在datagridview中創建四列。我怎樣才能做到這一點。每個List<string>內容將被添加到datagridview列。

回答

2

你不能綁定多個,爲此你應該創建一個可以將這些數據存儲在一個集合中的集合。

您可以使用DataTable或可以創建一個具有四個屬性的類,然後創建該類的List,或者如果要使用預定義的.net類,則可以使用Tuple類。

如果使用Tuple類,則可以嘗試此操作,但所有列表必須具有相同的計數。

var list = new List<Tuple<string,string,string,string>>(); 

    for(int i=0; i<experience.Count; i++) 
     list.Add(new Tuple<string,string,string,string>(experience[i],Cname[i],Clink[i],Ccomp[i])); 

    dataGridView.DataSource = list; 

或數據表,你可以嘗試

DataTable dt = new DataTable("Table"); 
dt.Columns.AddRange(new DataColumn[]{ 
    new DataColumn("experience", typeof(string)), 
    new DataColumn("Cname", typeof(string)), 
    new DataColumn("Clink", typeof(string)), 
    new DataColumn("Ccomp", typeof(string)) 
}); 

for(int i=0; i<experience.Count; i++){ 
    var newRow = dt.NewRow(); 
    newRow["experience"] = experience[i]; 
    newRow["Cname"] = Cname[i]; 
    newRow["Clink"] = Clink[i]; 
    newRow["Ccomp"] = Ccomp[i]; 
    dt.Rows.Add(newRow); 
} 

dataGridView.DataSource = dt; 
2

使用您的四個列表創建DataTable,並使用此DataTable綁定您的datagridview。

+0

'的DataTable表= ConvertListToDataTable(經驗); dataGridView1.DataSource = table;'。我試過這個,但是它給了無效的論據。你可以給我一個例子如何創建具有上述四個列表的數據表。 [鏈接](http://www.dotnetperls.com/convert-list-datatable)。從這裏我得到了代碼嘗試。 – Maddy 2012-08-01 09:32:32

相關問題