我有一个GridView,我需要将其放入电子邮件中。
如何做到这一点?
答案 0 :(得分:1)
使用HTMLtext编写器渲染gridview控件。您将获得一个HTML输出字符串。将此作为您的邮件正文。
public string RenderControl(Control ctrl)
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctrl.RenderControl(hw);
return sb.ToString();
}
答案 1 :(得分:0)
你可以为此做两件事
1)使用任何实用程序拍摄当前页面的屏幕截图并发送邮件
2)您可以将网格导出为excel,而不是通过邮件发送。
将网格导出到Excel http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx
答案 2 :(得分:0)
使用stringbuilder创建一个HTML表来重新采样gridview,如下所示:
var output = new StringBuilder("<table cellpadding='5' style='border: solid 1px black;'>");
foreach (GridViewRow row in MyGridView.Rows)
{
output.Append("<tr>");
output.Append("<td>" + Title + "</td>");
output.Append("<td>" + Price + "</td>");
output.Append("<td>" + Quantity + "</td>");
output.Append("</tr>");
}
output.Append("</table>");
答案 3 :(得分:0)
理想情况下,您不应该关注GridView控件。获取控件中显示的数据,以您想要的方式对其进行格式化,并将其作为邮件正文传递。
我会将逻辑视为在我的应用程序中显示Grid并为消息体生成网格作为两个单独的功能。两者之间的共同点是数据来源。对于数据的格式化(生成网格),您可以使用HTMLTextWriter类(如其他人所述)并以您希望的方式格式化数据。