在上节的基础上,把创建在DataSet对象中两个表的数据输出到页面上来。实现如下效果:
点击“访问DataSet对象”,显示DataSet中的所有数据表数据
给按钮单击事件添加ShowDataSet(DataSet ds)函数调用
protected void Button1_Click(object sender, EventArgs e)
{
ShowDataSet(ds_Forum);
}
private void ShowDataSet(DataSet ds)
{
// 构建输出字符串
StringBuilder htmlStr = new System.Text.StringBuilder();
// 遍历Forum中的所有表(使用foreach遍历)
foreach (DataTable dt in ds.Tables)
{
// 表开始
htmlStr.Append("<table border='1' cellPadding='5' cellSpacing='0' style='font-size:9pt;font:宋体'>");
#region 表的头部
// 表头开始
htmlStr.Append("<tr style='background-color=#f0f0f0'>");
// 遍历表中所有列(使用for遍历)
for (int i = 0; i < dt.Columns.Count; i++)
{
htmlStr.Append(string.Format("<td><strong>{0}</strong></td>", dt.Columns[i].ColumnName)); //表头
}
htmlStr.Append("</tr>"); // 表头一行结束
#endregion
#region 表的数据行
// 遍历表中所有行
for (int i = 0; i < dt.Rows.Count; i++)
{
// 数据行开始
htmlStr.Append("<tr>");
// 遍历行中列
for (int j = 0; j < dt.Columns.Count; j++)
{
if (!dt.Rows[i].IsNull(j))
{
htmlStr.Append(string.Format("<td>{0}</td>", dt.Rows[i][j]));
}
else
{
htmlStr.Append(string.Format("<td>{0}</td>", string.Empty));
}
}
// 数据行结束
htmlStr.Append("</tr>");
}
#endregion
//表结束
htmlStr.Append("</table><br>");
}
//输出DataSet页面数据
Response.Write(htmlStr);
}