2016-02-05 60 views
0

因此,使用這個鏈接找到了答案:將c#datatable轉換爲HTML ...如何在HTML表格中的單元格周圍添加網格?

Creating HTML from a DataTable using C#

我的數據表中成功地轉換爲HTML,它顯示在我的電子郵件中的表...

我知道必須有一個地方把細胞周圍添加網格線的風格,但我爲我的生活找不到正確的位置。我已經成功地將周圍但是整個表邊框...

DataTable dt = new DataTable(); 
sdaGetValidation.Fill(dt); 

StringBuilder sb = new StringBuilder(); 
sb.AppendLine("<html>"); 
sb.AppendLine("\t" + "<body>"); 
sb.AppendLine("\t\t" + "<table>"); 
sb.Append("<table border='1px' solid line black cellpadding='5' cellspacing='0' "); 
sb.Append("style='border: solid 1px Silver; font-size: x-small;'>"); 

sb.Append("\t\t" + "<tr>"); 

foreach (DataColumn dc in dt.Columns) 
{ 
    sb.AppendFormat("<td>{0}</td>", dc.ColumnName); 
} 

sb.AppendLine("<tr>"); 

foreach (DataRow dr in dt.Rows) 
{ 
    sb.Append("\t\t\t" + "<tr>"); 

    foreach (DataColumn dc in dt.Columns) 
    { 
     string cellValue = dr[dc] != null ? dr[dc].ToString() : ""; 
     sb.AppendFormat("<td>{0}</td>", cellValue); 
    } 

    sb.AppendLine("</tr>"); 
} 

sb.AppendLine("\t\t\t" + "</table>"); 
sb.AppendLine("\t" + "</body>"); 
sb.AppendLine("</html>"); 

MessageBox.Show(sb.ToString()); 

我不知道,如果有老調重彈舊的答案,所以我道歉,如果有一種方法可以做到這一點的方式...

沒有太多的HTML的傢伙,所以我覺得這應該是一個輕鬆取勝的人,誰知道它比一

我說「實線黑」這一行:

sb.Append("<table border='1px' solid line black cellpadding='5' cellspacing='0' ") 

但沒有快樂......

+0

如果你的表看起來沒問題,那就忽略這個。但看起來你可能在這裏有一個錯字:'sb.AppendLine(「」);'......你可能不得不使用'sb.AppendLine(「」);'而不是。 –

回答

2

只需在您生成表格單元的位置添加內聯樣式即可。

sb.AppendFormat("<td style=\"border:solid 1px black\">{0}</td>", cellValue); 
+0

謝謝,謝謝,謝謝!這就是爲什麼我喜歡這個網站!只要我能,我會接受你的答案。 – user3486773

+0

不客氣。祝你好運。 :) –