2013-01-02 51 views
-1

我要动态创建一个HTML表格以下应该是动态生成列的这个condition..The数量在我们的情况下,我们将承担2.So我有一个项目的名单,我要的循环填写此表列填充的项目,因为它们是generated.The代码无法正常运作,也没有包括最后item.Can有人指导我一个简单的方法来做到这一点。通过specifc组项目

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>"); 
+1

手工构建HTML/XML不建议 – MBen

+0

我建议在[代码审查]发布这个(http://codereview.stackexchange.com)。这里是无关紧要的话题。 – Oded

+0

,我们可以利用这个C#代码方面并就工作。 – user505210

回答

0

这可能不是实现您的目标的理想方式,但我相信这会修复您的代码。第二个循环只是一遍又一遍地添加第一个和第二个项目。

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>"); 
+0

Perfect..Thank你。 – user505210