DataTable迭代和填充

时间:2014-09-28 20:07:33

标签: c# datatable

我需要遍历5行8列DataTable(不包括表头等)。我需要继续用字符串数据填充每个单元格,在到达第8个单元格之后,我将进入下一行。图解上完全像这样:

Routine

如何实现这一目标? 我面临的问题是我无法编写嵌套循环,它将遍历单元格行方式并填充类似于此的字符串数据

Artificial Intelligence 
Faculty: John Doe
Room: LS110

上面的这个字符串是数据表的一个单元格的内容。其他单元格将填充类似的字符串。输出类似:

enter image description here

稍后我需要转换为HTML表。 感谢。

1 个答案:

答案 0 :(得分:1)

我不确定你到底在哪里,但如果你不知道如何创建表并用数据填充它:

string input = "Artificial Intelligence Faculty: John Doe Room: LS110";
var dt = new DataTable();
for (int i = 1; i <= 8; i++)
    dt.Columns.Add("Per-" + i);            

DataRow tue = dt.Rows.Add();
for (int i = 1; i <= 8; i++)
    tue.SetField("Per-" + i, input);
DataRow wed = dt.Rows.Add();
for (int i = 1; i <= 8; i++)
    wed.SetField("Per-" + i, input);
DataRow thu = dt.Rows.Add();
for (int i = 1; i <= 8; i++)
    thu.SetField("Per-" + i, input);
DataRow fri = dt.Rows.Add();
for (int i = 1; i <= 8; i++)
    fri.SetField("Per-" + i, input);
DataRow sat = dt.Rows.Add();
for (int i = 1; i <= 8; i++)
    sat.SetField("Per-" + i, input);

更新:如果您希望第一列包含工作日:

var dt = new DataTable();
dt.Columns.Add(" "); // for the day
for (int i = 1; i <= 8; i++)
    dt.Columns.Add("Per-" + i);

DataRow tue = dt.Rows.Add();
tue.SetField(0, "Tue");
for (int i = 1; i <= 8; i++)
    tue.SetField("Per-" + i, input);
DataRow wed = dt.Rows.Add();
wed.SetField(0, "Wed");
for (int i = 1; i <= 8; i++)
    wed.SetField("Per-" + i, input);
DataRow thu = dt.Rows.Add();
thu.SetField(0, "Thu");
for (int i = 1; i <= 8; i++)
    thu.SetField("Per-" + i, input);
DataRow fri = dt.Rows.Add();
fri.SetField(0, "Fri");
for (int i = 1; i <= 8; i++)
    fri.SetField("Per-" + i, input);
DataRow sat = dt.Rows.Add();
sat.SetField(0, "Sat");
for (int i = 1; i <= 8; i++)
    sat.SetField("Per-" + i, input);