[英]SQL query to HTML table for e-mail
我一直在使用一些與以下代碼非常相似的代碼來填充gridview控件:
using(SqlDataAdapter sqlDataAdapter =
new SqlDataAdapter("SELECT * FROM Table1",
"Server=.\\SQLEXPRESS; Integrated Security=SSPI; Database=SampleDb"))
{
using (DataTable dataTable = new DataTable())
{
sqlDataAdapter.Fill(dataTable);
this.dataGridView1.DataSource = dataTable;
}
}
現在,我想使用該網格視圖,並將結果通過html表的電子郵件發送。 我相信我可以通過使用gridview作為中間人來解決此問題(將結果添加到gridview然后按單元格繪制html表單元格),但是我想知道是否有一種方法可以將SQL查詢的結果並繪制為html可以發送電子郵件的表格了嗎?
簡介:如何查詢數據庫並以可以用它們繪制HTML表的方式返回結果?
沒有人回答,所以我會試一試。
似乎DataTable具有Rows屬性,該屬性是數據表中所有行的集合。 您需要做的就是遍歷行並打印html <tr>
標記。 然后,可以使用<td>
標簽將內部循環用於每一列。 我對C#的經驗很少,但是應該看起來像這樣:
emit("<table>\n");
foreach(DataRow row in dataTable.Rows)
{
emit("<tr>");
foreach(DataColumn column in dataTable.Columns)
{
emit("<td>" + row[column] + "</td>");
}
emit("</tr>\n"); // add a newline for readability
}
emit("</table>\n");
如果您願意的話,emit()函數可以只連接一個字符串,然后您就可以將該字符串作為正文以html格式發送電子郵件。
您可以使用RenderControl方法直接在后台代碼上從gridview渲染HTML代碼,並使用StringBuilder輸出。 例:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.