Reputation: 5379
I have the following code:
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;
}
How do i call it so that it shows up in a web browser control via a click event on a button?
Upvotes: 0
Views: 967
Reputation: 755537
Set the DocumentText
property to the created HTML. Note that you are returning a StringBuilder
from htmlMessageBody
so you will need to call ToString
to get the text
webBrowser.DocumentText = htmlMessageBody(theDataGridView).ToString();
Upvotes: 1
Reputation: 101732
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.DocumentText = htmlMessageBody(yourdataGridView).ToString();
}
Upvotes: 1