C#后台动态在asp页面画表

       上段时间做了一个显示调查结果的页面,由于查询的时候数据条数不固定,所以无法在前台asp页面画表。查了些资 料,找到了后台画表的方法。现在做一个小的DEMO给大家分享。
 protected void Page_Load(object sender, EventArgs e)
        {
            //创建一个表格对象
            HtmlTable ht = new HtmlTable();
            //设置表格属性
            ht.BorderColor = "Green";
            ht.CellPadding = 10;
            ht.Width = "100%";
            ht.Align = "center";
            //这里我们可以套一个循环,来循环添加行。
            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);
                    }
                }
            }
        }
因为是第一次做这个东西,所以可能做的不是太好,请各位高手不要鄙视。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值