-1

希望在循环遍历字符串值集合的 Html 表的每行显示三个数据单元格方面获得一些帮助。

显示如下

值 1 值 2 值 3 值 4 值
5 值 6

正在考虑类似的事情

sb.Append("<table");
sb.Append("<tbody>");

            for (int i = 0; i < items.Count; i++)
            {
                var subjectName = items[i].toString();
                if (i % 3 == 0)
                {
                   sb.Append("<tr>");
                   sb.Append("<td>");
                   sb.Append("<a href='url'>" + subjectName + "</a>");
                   sb.Append("</td>");
                   sb.Append("</tr>");
                }
                else
                 {
                   sb.Append("<td>");
                   sb.Append("<a href='url'>" + subjectName + "</a>");
                   sb.Append("</td>"); 
                 }
            }

            sb.Append("</tbody>");
            sb.Append("</table>");

但显示看起来很糟糕帮助也许是问候

4

2 回答 2

1

您必须像这样在 for 循环之外指定行定义:

sb.Append("<table");
sb.Append("<tbody>");

sb.Append("<tr>"); //will only create one row with 3 cells inside   
for (int i = 0; i < items.Count; i++)
{
    var subjectName = items[i].toString();

    sb.Append("<td>");
    sb.Append("<a href='url'>" + subjectName + "</a>");
    sb.Append("</td>");
}
sb.Append("</tr>"); 

sb.Append("</tbody>");
sb.Append("</table>");´

如果你想用 1 个或多个单元格做几行,你必须使用 2 个 for 循环,1 个枚举抛出你的行,1 个枚举你的单元格内容,例如:

    sb.Append("<table");
    sb.Append("<tbody>");

for (int j = 0; j < rows.count; j++)
{
    sb.Append("<tr>"); //create the number of rows you have specified in the j for loop  
    for (int i = 0; i < items.Count; i++)
    {
        var subjectName = items[i].toString();

        sb.Append("<td>");
        sb.Append("<a href='url'>" + subjectName + "</a>");
        sb.Append("</td>");
    }
    sb.Append("</tr>"); 
}
    sb.Append("</tbody>");
    sb.Append("</table>");´
于 2013-08-02T12:35:34.513 回答
0

I would use a partinioning method (like jon skeet's here). Then just use a double loop to create the rows like this

foreach (var row in items.Partition(3))
{
    sb.Append("<tr>");
    foreach (var subjectName in row)
    {
        sb.AppendFormat("<td><a href='url'>{0}</a></td>", subjectName);
    }
    sb.AppendLine("</tr>");
}
于 2013-08-02T13:31:01.807 回答