在ASP.NET的DropDownList中完美实现动态显示多列数据.docxVIP

在ASP.NET的DropDownList中完美实现动态显示多列数据.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

?

?

在ASP.NET的DropDownList中完美实现动态显示多列数据-论文网

?

?

论文摘要:为了使DropDownList能够动态显示多列数据,需要通过三个步骤:一是通过语句读取相关列数据,二是通过语句合成各列定长的多列项,三是为DropDownList设置特定的字体字号。

论文关键词:动态显示,多列数据

一、引言

一般情况下,DropDownList/ListBox仅显示一列数据。但在某些特殊场合,如果一个选项能够同时显示若干列相关数据,则会使数据更直观、选择更方便、能更好的满足用户的使用需要。

以图1为例,这是一个本科生毕业(设计)论文选题页面。在此页面中,有三个DropDownList控件,它们可以动态的显示多列数据。通过多列相关数据的同时显示,学生在做出选择前,可以动态的了解到某一选题当前已被其它同学选择的情况,从而更合理的进行“预选”à“终选”,较好的避免了学生选题的“扎堆”现象。

图1在DropDownList中动态显示多列数据示例

在桌面程序设计语言中,PowerBuilder通过DataWindow控件实现了此种功能,但目前常用的网页设计语言中,尚未发现可供使用的此类控件。可以通过一个DropDownList再配合一个表格类控件实现和选项相关的多项信息的同时显示,虽然这样可以“曲线救国”,但应用效果却会大打折扣。

因此,在动态网页设计时,研究如何使DropDownList中完美实现动态显示多列数据很有必要。本文以图1所示网页为例,介绍在ASP.NET的DropDownList中完美实现动态显示多列数据的方法。

二、数据准备

本例程序为一个学生选题网页,在此网页中,列出了所有指导教师的所有研究方向,供学生选择,所有学生填写志愿完毕,教师才可以根据学生选题情况,确定要指导的学生。类似的例子有于高考网上填写志愿、网上投票等。

图2列出了三个与本网页相关的数据表:题目表用于存储所有教师的所有选题,选题表用于存储所有学生的选题结果,每人限选三个,教师表用于存储所有教师的相关情况。

图2网页相关数据表

在显示选题数据前,首先需要通过SQL语句从三个数据表中生成相关数据,具体的SQL语句比较复杂,也是编写本网页的关键语句之一,故在此给出,以供参考(见图3)。

SELECT导师姓名,题目,要求,

SUM(IIF(志愿号=1,人数,0))AS第一志愿人数,

SUM(IIF(志愿号=2,人数,0))AS第二志愿人数,

SUM(IIF(志愿号=3,人数,0))AS第三志愿人数

FROM(SELECT题目表.编号,教师表.姓名AS导师姓名,题目表.题目,题目表.要求,选题表.志愿号,COUNT(*)AS人数

FROM((题目表LEFTOUTERJOIN教师表ON题目表.导师编号=教师表.编号)

LEFTOUTERJOIN选题表ON题目表.编号=选题表.题目号)

GROUPBY题目表.编号,教师表.姓名,题目表.题目,题目表.要求,选题表.志愿号)TGROUPBY编号,导师姓名,题目,要求

ORDERBY导师姓名,题目

图3生成显示数据的SQL语句

三、数据读取方法

通过互联网搜索,对DropDownList中实现显示多列数据的解决方案大致有两种,第一方法是通过修改图3所示的SQL语句,将DropDownList要显示的各列合成一列,然后令DropDownList绑定到生成表的指定列中。通过实验,证明这种方法在ASP.Net中是不可取的,通过图4所示的结果可知,DropDownList会将字段中的所有英文空格舍弃,这会导致列出的结果无法对齐、无法辩认。

图4数据绑定结果

第二种方法是通过ASP.Net后台程序,读取图3所示的SQL语句生成的表中的各列数据,合成DropDownList项,然后添加到DropDownList中,其结果同样为图4所示。但这种方法和第一种方法不同,我们可以通过修改语句,为每列文字后补充空格,从而使各列对齐提供了可能,而第一种方法则无法介入。

本例借鉴第二种方法,采用通过AccessDataSource与GridView结合,通过可视操作,使要添加到DropDownList中的数据直接填入GridView中(见图5),然后设GridView的Visible属性为False。再通过程序从GridView中读取数据。这种改进尽管损失了一些网页反应速度,但在较大程度上降低了程序编写难度、提高了程序的可靠性和编写效率。

图5GridView数据显示结果

通过这一改进,所需编写的向DropDownList中添加数据的程序变得非常简单(见图6)。

ProtectedvoidPage

您可能关注的文档

文档评论(0)

133****6472 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档