【发布时间】:2018-05-08 03:33:37
【问题描述】:
我有一个数据集
DataSet ds = Access.Get(startdate, enddate);
我返回了大约 70 行。我需要基于此构建一个 html 表以提供打印选项。关于如何做到这一点的任何建议?谢谢
【问题讨论】:
-
我想到的前两个选项是嵌套循环或 Linq。你试过什么?
-
我已经用数据表做到了这一点,但我被数据集卡住了
我有一个数据集
DataSet ds = Access.Get(startdate, enddate);
我返回了大约 70 行。我需要基于此构建一个 html 表以提供打印选项。关于如何做到这一点的任何建议?谢谢
【问题讨论】:
将 DataSet 表传递给 ConvertDataSetTableToHTML。在调用之前确保您的数据集始终有包含记录的表。
if (ds != null)
{
if (ds.Tables.Count >0 )
{
if (ds.Tables[0].Rows.Count > 0)
{
ConvertDataSetTableToHTML(ds.Tables[0]);
}
}
}
public static string ConvertDataSetTableToHTML(DataTable dt)
{
string html = "<table>";
//add header row
html += "<tr>";
for(int i=0;i<dt.Columns.Count;i++)
html+="<td>"+dt.Columns[i].ColumnName+"</td>";
html += "</tr>";
//add rows
for (int i = 0; i < dt.Rows.Count; i++)
{
html += "<tr>";
for (int j = 0; j< dt.Columns.Count; j++)
html += "<td>" + dt.Rows[i][j].ToString() + "</td>";
html += "</tr>";
}
html += "</table>";
return html;
}
我刚刚为您的场景使用了来自here 的代码。
【讨论】:
<div id="divDynamicHTMLTable" runat="server"></div> 之类的 aspx 中创建 div 并在文件隐藏代码 divDynamicHTMLTable.InnerHtml= ConvertDataSetTableToHTML(ds.Tables[0]); 中创建 div 吗?通过替换 ConvertDataSetTableToHTML(ds.Tables[0]); 将代码放在 if 条件后面的 change 中。我现在没有 VS,所以请尝试告诉我