2013-10-29 18 views
0

我有我的aspx頁面上的文本框和按鈕。基於文本框的值創建html表格作爲字符串

現在我想創建一個html表格作爲按鈕單擊事件的字符串。我已經完成了這項任務。請看下面我的代碼:

 string stsrtest = "test"; 
     string nWidth="150px";   
     string strHtml = "<table><tr><td width= '" + nWidth + "'> Authorized By</td><td>Employee </td><td>Status</td><td>Date </td><td>Note</td><td>Signutare</td></tr>"; 
     strHtml += "<tr><td> " + stsrtest + "</td><td> " + stsrtest + "</td><td> " + stsrtest + "</td><td> " + stsrtest + "</td><td> " + stsrtest + "</td><td>test</td></tr>"; 
     strHtml += "</table>"; 

現在我想根據文本框的值來創建行和列。

例如,如果文本框的值是15,那麼我想創建一個3列和5行的表。 如果文本框的值是6,那麼我想創建一個3列和2行的表。

我使用上面的代碼來創建一個簡單的2行和5列。

+0

你需要使用因式分解算法..... –

回答

0

您可以通過設置您的列的數量並循環每行以將其構建爲字符串來動態構建您的表。看看這個例子:

StringBuilder l_strBuilder= new StringBuilder(); 
      l_strBuilder.AppendLine("<table">"); 
      l_strBuilder.AppendLine("<tr>"); 
      l_strBuilder.AppendLine("<th>Authorized By</th>"); 
      l_strBuilder.AppendLine("<th>Employee</th>"); 
      l_strBuilder.AppendLine("<th>Status</th>"); 
      l_strBuilder.AppendLine("<th>Date</th>"); 
      l_strBuilder.AppendLine("<th>Note</th>"); 
      l_strBuilder.AppendLine("<th>Signutare</th>"); 
      l_strBuilder.AppendLine("</tr>"); 

    for (int i = 0; i < ROWSNUMBER; i++) 
    { 
      l_strBuilder.AppendLine("<tr>"); 
      l_strBuilder.AppendLine("<td>column 1 data</td>"); 
      l_strBuilder.AppendLine("<td>column 2 data</td>"); 
      l_strBuilder.AppendLine("<td>column 3 data</td>"); 
      l_strBuilder.AppendLine("<td>column 4 data</td>"); 
      l_strBuilder.AppendLine("<td>column 5 data</td>"); 
      l_strBuilder.AppendLine("<td>column 6 data</td>"); 
      l_strBuilder.AppendLine("</tr>"); 
    } 

      l_strBuilder.AppendLine("</table>"); 

在建立表後,你可以使用asp文字obj把你的表放在你的頁面。

<asp:Literal ID="ltrDynTable" runat="server" /> 

並與您填寫的字符串是這樣:

ltrDynTable.Text = l_strBuilder.ToString(); 

希望這將有助於。

+0

嗨,感謝您的回覆,但我想創建行和列基於文本框的值,我已經在我的問題中提到的例子,我也想給細胞對於單元格的值爲1,對於單元格的值爲2,...等等。 – Hitesh

1

我已經解決了使用下面的代碼這個問題:

 int nTotal = Convert.ToInt32(txtCell.Text); 
     int nRows = 0; 
     int nLast = nTotal % 3; 
     nRows = nTotal/3; 
     string strHmtl = "<table border='1px' cellspacing='0' cellpadding='0' style='height: 28px; width: 647px;' >"; 

     for (int i = 0; i < nTotal - nTotal % 3; i++) 
     { 
      if (i == 0 || i % 3 == 0) 
       strHmtl += "<tr>"; 
      strHmtl += "<td></td>"; 
      if (i % 3 == 2) 
       strHmtl += "</tr>"; 
     } 
     if (nTotal % 3 != 0) 
     { 
      strHmtl += "<tr>"; 
      if (nLast == 1) 
       strHmtl += "<td> </td>";    
      else 
      { 
       strHmtl += "<td> </td>"; 
       strHmtl += "<td> </td>"; 
      } 
      strHmtl += "</tr>"; 
     } 
     strHmtl += "</table>"; 

感謝。

相關問題