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);                 }             }         }     }

posted @ 2014-01-04 15:50  牡丹  阅读(750)  评论(0)    收藏  举报