我目前使用字符串构建器和各种循环来将一些HTML解析为webBrowser控件。但是我如何具体来自dataGridView1
的每一列和值,以便我可以包装HTML。我的dataGridView1中有一个包含行值的列,它是一个图像URL。
private StringBuilder htmlMessageBody(DataGridView dataGridView2)
{
StringBuilder strB = new StringBuilder();
//create html & table
strB.AppendLine("<html><body><center><" +
"table border='1' cellpadding='0' cellspacing='0'>");
strB.AppendLine("<tr>");
//cteate table header
for (int i = 0; i < dataGridView2.Columns.Count; i++)
{
strB.AppendLine("<td align='center' valign='middle'>" +
dataGridView2.Columns[i].HeaderText + "</td>");
}
//create table body
strB.AppendLine("<tr>");
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
strB.AppendLine("<tr>");
foreach (DataGridViewCell dgvc in dataGridView2.Rows[i].Cells)
{
strB.AppendLine("<td align='center' valign='middle'>" +
dgvc.Value.ToString() + "</td>");
}
strB.AppendLine("</tr>");
}
//table footer & end of html file
strB.AppendLine("</table></center></body></html>");
return strB;
}
答案 0 :(得分:0)
//create table body
strB.AppendLine("<tr>");
我认为这需要
//create table body
strB.AppendLine("</tr>");
在开始包含更多表行之前关闭行标记。
如果在return语句中放置断点,则可以将StrB的内容复制到html编辑器中,该编辑器应突出显示错误。