C#后台动态画表(实现合并单元格)
<div runat="server" id="pa" ></div>
public void drawHtml() { //创建一个表格对象 HtmlTable ht = new HtmlTable(); //设置表格属性 ht.BorderColor = "Green"; ht.CellPadding = 10; ht.Width = "100%"; ht.Align = "center"; ht.Border = 1; //这里我们可以套一个循环,来循环添加行。 for (int i = 0; i < 5; i++) { //创建一个行对象 HtmlTableRow qr = new HtmlTableRow(); //列 HtmlTableCell qc = new HtmlTableCell(); //合并单元格 qc.ColSpan = 2; qc.BorderColor = "Green"; //实例化一个标签 Label ql = new Label(); ql.Text = (i + 1) + ". " + "我是第" + (i + 1) + "个问题";
//向列中加入这个标签 qc.Controls.Add(ql); //行加入列 qr.Cells.Add(qc); //表格加入行 ht.Rows.Add(qr); //Pa是asp页面中的一个panel,用来放创建的表格,可以改为其他容器 pa.Controls.Add(ht); HtmlTableRow ar = new HtmlTableRow(); HtmlTableCell ac = new HtmlTableCell(); ac.BorderColor = "Green"; ac.Width = "50%"; HtmlTableCell ac1 = new HtmlTableCell(); ac1.BorderColor = "Green"; //用循环添加每个问题的答案 for (int j = 0; j < 3; j++) { //当奇数答案时 if (j % 2 == 0) { Label al = new Label(); al.Text = Convert.ToChar(j + 97) + ". " + "答案 " + Convert.ToChar(j + 97) + "<br />"; //向列中加入这个标签 ac.Controls.Add(al); //行加入列,此处之所以用Insert是为了控制插入的位置 ar.Cells.Insert(0, ac); //表格加入行 ht.Rows.Add(ar); pa.Controls.Add(ht); } //当偶数答案时 else { Label al = new Label(); al.Text = Convert.ToChar(j + 97) + ". " + "答案 " + Convert.ToChar(j + 97) + "<br />"; //向列中加入这个标签 ac1.Controls.Add(al); ac1.VAlign = "top"; //行加入列 ar.Cells.Insert(1, ac1); // ar.Cells.Add(ac1); //表格加入行 ht.Rows.Add(ar); pa.Controls.Add(ht); } } } }
浙公网安备 33010602011771号