2012-08-01 104 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

相关问题