小弟想实现如下样式:
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<span style="font-size: 12px; color: #1f3a87">test1:</span><br>
111</td>
</tr>
</table>
<span style="font-size: 12px; color: #1f3a87">test2:</span><br>
2222</td>
</tr>
</table>
<span style="font-size: 12px; color: #1f3a87">test3:</span><br>
33333
</td>
</tr>
</table>
其中test1 ,2 ,3 都是从数据库中循环读取,请问该如何实现?
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border: 1px solid #333333;
background: #eee; color: #000000; padding: 5px;">
<tr>
<td>
<span style="font-size: 12px; color: #1f3a87">test1:</span><br>
111</td>
</tr>
</table>
<span style="font-size: 12px; color: #1f3a87">test2:</span><br>
2222</td>
</tr>
</table>
<span style="font-size: 12px; color: #1f3a87">test3:</span><br>
33333
</td>
</tr>
</table>
其中test1 ,2 ,3 都是从数据库中循环读取,请问该如何实现?
因为我所有的table 都是嵌套的
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<table runat="server" id="table1"></table>
</form>
</body>
</html> protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = GetTable();
RenderTable(this.table1, dt, "");
}
} private void RenderTable(HtmlTable ht, DataTable dt,string pname)
{
DataRow[] drs = dt.Select("pname='"+pname+"'"); ht.Width = "100%";
ht.Border = 0;
ht.CellPadding = 0;
ht.CellSpacing = 0;
ht.Style.Add("border", " 1px solid #333333");
ht.Style.Add("background", "#eee");
ht.Style.Add("color", "#000000");
ht.Style.Add("padding", "5px"); foreach (DataRow dr in drs)
{
HtmlTableRow htr = new HtmlTableRow();
HtmlTableCell htc = new HtmlTableCell(); HtmlTable htin = new HtmlTable();
RenderTable(htin, dt, dr["value"].ToString()); Literal li = new Literal();
li.Text = "<span style='font-size: 12px; color: #1f3a87'>"+dr["name"]+":</span>"+"<br>" + dr["value"].ToString(); htc.Controls.Add(htin);
htc.Controls.Add(li); htr.Controls.Add(htc);
ht.Controls.Add(htr);
}
} private DataTable GetTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("value");
dt.Columns.Add("pname"); DataRow dr = dt.NewRow();
dr["name"] = "test3";
dr["value"] = "3333";
dr["pname"] = "";
dt.Rows.Add(dr); dr = dt.NewRow();
dr["name"] = "test2";
dr["value"] = "2222";
dr["pname"] = "3333";
dt.Rows.Add(dr); dr = dt.NewRow();
dr["name"] = "test1";
dr["value"] = "1111";
dr["pname"] = "2222";
dt.Rows.Add(dr); return dt;
}