2013-01-02 43 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