-1

この条件に従って動的にHTMLテーブルを作成する必要があります。列の数は動的に生成される必要があります。この場合は2を想定しています。したがって、このテーブルに入力する必要のあるアイテムのリストがあります。生成された列。コードが正しく動作しておらず、最後の項目も含まれていません。誰かが簡単な方法を教えてくれますか。

List<NItem> item = new List<NItem>();   

StringBuilder build = new StringBuilder();
    build.Append("<table>");


    for (int q = 0; q < item.Count; q++)
    {
        build.Append("<tr>");
        for (int i = 0; i < columns; i++)
        {               

            build.Append("<td>");
            build.Append(string.Format("<a title= \"{0}\" href=\"{1}\" target=\"_blank\">{2}</a> ", item[i].ToolTip, item[i].Link, item[i].LinkDescription));
            build.Append("</td>");




        }
        build.Append("</tr>");
    }
    build.Append("</table>");
4

1 に答える 1

0

これは目標を達成するための理想的な方法ではないかもしれませんが、これでコードが修正されると思います。2 番目のループは、1 番目と 2 番目の項目を何度も追加するだけでした。

List<NItem> item = new List<NItem>();   

StringBuilder build = new StringBuilder();
build.Append("<table>");

// Increment the counter by the number of columns
for (int q = 0; q < item.Count; q += columns)
{
    build.Append("<tr>");

    for (int i = 0; i < columns; i++)
    {               
        build.Append("<td>");

        if (q + i < item.Count)
        {
            // Grab the item for this column by adding the column index to the item index that we started with
            var currentItem = item[q + i];
            build.Append(string.Format("<a title= \"{0}\" href=\"{1}\" target=\"_blank\">{2}</a> ", currentItem.ToolTip, currentItem.Link, currentItem.LinkDescription));
        }

        build.Append("</td>");
    }
    build.Append("</tr>");
}

build.Append("</table>");
于 2013-01-02T15:30:41.783 に答える