2016-02-05 63 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

不客气。祝你好运。 :) –