HTML 表返回到第一行第二列

本文关键字:一行 二列 返回 HTML | 更新日期: 2023-09-27 18:33:27

在这个jsfiddle示例中

我正在寻找的输出,左侧是表标题,右侧是相应的数据。一旦我到达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

感谢您的任何回复

HTML 表返回到第一行第二列

dr 的长度。ItemArray 始终等于 dr 的计数。表列?如果是这样,请创建一个 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,要么最终错过一些数据。

是的,您可以使用GOTO执行此操作,但这是非常禁止的:

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

问候