-1

文字列値のコレクションをループする Html テーブルの行ごとに 3 つのセルのデータを表示する際の助けを期待していました。

以下のように表示されます

値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 ループを使用する必要があります。

    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 に答える