html表回到第一行第二列

时间:2014-12-08 12:13:35

标签: c# html html-table

在此jsfiddle example

是我要找的输出,左边的表头和右边的相应数据.... 一旦我到达foreach (DataColumn c in dr.Table.Columns)的末尾,是否可以说 - 回到第一行,第二列?

foreach (DataRow dr in currentAttribs.Rows)
{
    foreach (DataColumn c in dr.Table.Columns) 
    {
        headerRow = "<tr><th>" + c.ColumnName.ToString() + "</th></tr><br><br>";
        Literal lcl = new Literal();
        lcl.Text = headerRow;
        divFeatureInfo.Controls.Add(lcl);
    }

    foreach (object column in dr.ItemArray)
    {
        tableRow = "<TR><TD>" + column.ToString() + "</TD></TR><br><br>";
        Literal lc = new Literal();
        lc.Text = tableRow;
        divFeatureInfo.Controls.Add(lc);
    }
}

这段代码给了我输出:

id

Geom

Day

05

489090

Monday

我想:

id        05

Geom      489090

Day      Monday

感谢任何回复

2 个答案:

答案 0 :(得分:0)

dr.ItemArray的长度是否总是等于dr.Table.Columns的数量? 如果是这样,请创建一个for循环,按id引用数组项和表列,然后将所有数据写入一个字符串。

foreach (DataRow dr in currentAttribs.Rows)
{
    string row;
    for(var i = 0; i < dr.Table.Columns.Count; i++)
    {
        row = "<tr><th>" + dr.Table.Columns[i].ColumnName.ToString() + "</th><td>" + + dr.ItemArray[i].ToString() + "</td></tr><br><br>";
        Literal lcl = new Literal();
        lcl.Text = row;
        divFeatureInfo.Controls.Add(lcl);
    }
}

当然,如果您无法确保计数/长度始终相同,您将获得一些令人讨厌的IndexOutOfBoundsException或最终遗漏一些数据。

答案 1 :(得分:0)

是的,你可以通过使用GOTO来做到这一点,但它是禁止的:

http://msdn.microsoft.com/fr-fr/library/13940fs2.aspx

此致