我有一些字典,其键值如下Dic1(Name,Anu),Dic2(Age,22),Dic3(Name,Cas),Dic4(Age,25),Dic5(Sex,Male)。我想创建一个以名称,年龄和性别作为列标题的数据表,并以相应的值作为行数据进行映射。
姓名年龄性别 阿努22空 Cas 25男
答案 0 :(得分:2)
您应分别添加DataColumn
,DataRow
,以下方法基于sample将List
集合转换为DataTable
,并根据您的要求更改列自己的问题。
static DataTable Convert(List<string[]> list)
{
DataTable table = new DataTable();
int columns = 0;
foreach (var array in list)
{
if (array.Length > columns)
{
columns = array.Length;
}
}
for (int i = 0; i < columns; i++)
{
table.Columns.Add();
}
foreach (var array in list)
{
table.Rows.Add(array);
}
return table;
}
您可以通过以下示例方法来调用该方法:
static void sample()
{
List<string[]> list = new List<string[]>();
list.Add(new string[] { "Column 1", "Column 2", "Column 3" });
list.Add(new string[] { "Row 2", "Row 2" });
list.Add(new string[] { "Row 3" });
DataTable table = Convert(list);
dataGridView1.DataSource = table;
}