0

如何使用 4 个不同的列表创建 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 列。

4

2 回答 2

2

使用您的四个列表创建 DataTable 并将您的 datagridview 与此 DataTable 绑定。

于 2012-08-01T09:22:06.403 回答
2

您不能绑定多个,为此您应该创建一个可以将这些数据存储在单个中的集合。

您可以使用 DataTable 或者可以创建一个具有四个属性的类,然后对该类进行列表,或者如果要使用预定义的 .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;
于 2012-08-01T09:23:40.887 回答