手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

一个调查实例<主要训练向panel中添加控件>包括全部代码 _c#应用

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

该工具可就一些主题对访问者进行询问,页面上任何的字(除了按纽上的),全部由数据库读出,每个问卷的答案多少随便增减,也很方便查阅,关键代码如下,假如喜欢的朋友点连接下载全部源文档http://www.cnblogs.com/Files/thcjp/survey.rar

1//第一步把调查标题和欢迎词查询出来
2 DataTable dt=db.fill("select name,instruc from survey where id=" sid "");//把数据从数据库检索到本地表中来
3 title.Text=dt.Rows[0]["name"].ToString();//将标题文本配置为本地表中的第一列(假如不喜欢这里是0,那您设成1嘛,我不负责哈,CPU会爆炸的),列名字为name的值
4 cw.Text=dt.Rows[0]["instruc"].ToString();//这是用户第一次进来显示的字
5
6 //第二步有点复杂,各位看官用心看了,前面我们不是放了一个空的panel控件嘛,下面要做的就是把任何的问题给查询出来,并放到任何需要的控件中,然后再把控件给放到panel里面,这也是这个例题的关键所在
7 DataTable qdt=db.fill("select qid,qlong from question where id=" sid "");//把问题ID和问题检索出来放在本地内存表QDT中,备用;
8 for(int i=0;i<qdt.Rows.Count;i )//进入代码段的外层循环,处理调查的每个问题
9 {
10
11 LiteralControl html=new LiteralControl();//literalControl是个很基础的控件,用和把HTML脚本动态插入到当前页中去
12 html.Text=qdt.Rows[i]["qlong"].ToString() ":";//把文字交给新控件
13 Panel1.Controls.Add(html);//将赋值后的控件加入到panel1中去
14
15 DropDownList ddl=new DropDownList();//声明一个 dropdownlist 对象
16 string qid=qdt.Rows[i]["qid"].ToString();//把当前问题的ID保存在临时变量中
17 ddl.ID="q" qid;//给控件加个名字 q 以后,该下拉列表的名字就成了 q1 ,q2这样的了,您有权利不信,出去看下编译后网页的源文档就知道啦
18
19 DataTable adt=db.fill("select answer from answer where qid=" qid "");//查询出任何这个问题的答案
20 //下面就能够进入代码的层循环了,负责处理问题的每个答案
21 for(int j=0;j<adt.Rows.Count;j )
22 {
23 ListItem li=new ListItem();//实例化一个新的数据项,每个答案就直接交给该实例项就OK了
24 li.Text=adt.Rows[j]["answer"].ToString();//赋值
25 ddl.Items.Add(li);//放到dropdownlist控件中去
26 }
27 Panel1.Controls.Add(ddl);//把DorpDownList控件加入到Panel里面去
28 LiteralControl html1=new LiteralControl();//最后当然是加个分隔符咯
29 html1.Text="<p>";//我想不用说了吧
30 Panel1.Controls.Add(html1);//我想不用说了吧
31 }


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!