添加多个列表<t>到DataTable </t>

时间:2015-01-27 19:33:49

标签: c# asp.net list gridview datatable

我正在努力弄清楚如何将(在我的情况下为3个列表)添加到DataTable中,以便我可以在GridView上输出它。

我有以下列表

  1. 列表名称(字符串的内容编号)
  2. 列表编号(内容整数)
  3. 列表状态(字符串的内容编号)
  4. 理想情况下,我希望在DataTable中获得以下结果

    名称(第1列):列表1的内容 编号(第2栏):清单2的内容 状态(第3列):清单3的内容

    如果有人能在这里指导我,我真的很感激,因为我在网上找不到太多东西。请问是否不清楚我正在尝试做什么。

1 个答案:

答案 0 :(得分:1)

这取决于几件事,

  • 所有列表都有相同数量的项目
  • 列表中元素的顺序也是相同的,例如,在索引0上,您在NameList中有名称,在NumberList的索引0上,您有相关的数字,依此类推。

使用此方法,您可以使用单个循环并向DataTable添加行(dt),如:

for (int i = 0; i < NameList.Count; i++)
{
    dt.Rows.Add(NameList[i], NumberList[i], StatusList[i]);
}

假设您有DataTable三个列,如:

DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof (string));
dt.Columns.Add("Number", typeof (int));
dt.Columns.Add("Status", typeof (string));

更好的方法是获得自定义对象的列表,其中对象具有属性,名称,数字,状态。填充该List,而不是基于索引维护三个不同的列表。