ASP.NET 2.0:如何让DropDownList同时拥有数据来源项目与自订项目
2006-12-08 10:27:15
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 |
![]() 图表1
其实在许多时候,我们会希望网页上的DropDownList控件同时拥有数据来源项目与自订项目。这样说如果您还不是很明白,请看图表1所示的网页范例。我们发现,第一个选项「请选择一个部门」显然是一个自订项目,而其它选项则是来自数据表的「部门」字段。以本范例而言,欲完成这样的设计,请依序进行下列设定:
1. 首先,请于网页上选取您的DropDownList控件,并于「属性」窗口中将属性AppendDataBoundItems属性设定成True。
2. 紧接着,按一下Items属性之右侧的「…」按钮。
3. 「ListItem集合编辑器」对话框开启后,请按一下「加入」按钮,并于右侧窗格进行下列设定:
Ø 将Text属性设定成“请选择一个部门”。
Ø 由于我们希望此自订选项一开始就被选取,因此请将Selected属性设定成True。
确认您的「ListItem集合编辑器」对话框如图表2所示后,按一下「确定」按钮。
(请注意:您可以加入多个自订项目,欲加入多个自订项目,请反复步骤3的操作,直到您已经加入所需的多个自订项目为止) ![]() 图表2
4. 最后,您必须替DropDownList控件设定来自数据表之「部门」字段的选项。欲达此目的,请从DropDownList控件的智能卷标选项中选取「设定数据来源」选项,以便建立一个SqlDataDataSource对象来查询出「部门」字段的部门作为选项。此部分我们就不再一一赘述,结果应如图表3所示。
![]() 图表3
我想,上述作法是ASP.NET 2.0非常不错的一项功能,因为您不需撰写复杂的程序代码即可轻易完成相关处理。当然啦,如果您是位高竿的程序设计师,不想通过接口来处理,也可以直接在网页的Load事件处理例程中撰写下列程序代码来达到相同的目的:(不过我们建议您能够少写程序就少写些程序吧)
Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Me.DepartmentDropDownList.Items.Add("请选择一个部门") ' 利用 SqlConnectionStringBuilder 对象来构建连接字符串。 Dim connectStringBuilder As New SqlConnectionStringBuilder() connectStringBuilder.DataSource = "(local)\SQLEXPRESS" connectStringBuilder.InitialCatalog = "北风贸易" connectStringBuilder.IntegratedSecurity = True Try Using cn As New SqlConnection(connectStringBuilder.ConnectionString) Dim cmdLiming As New SqlCommand( _ "SELECT DISTINCT 部门 FROM 章立民研究室", cn) cn.Open() Using dr As SqlDataReader = cmdLiming.ExecuteReader While dr.Read DepartmentDropDownList.Items.Add(dr.GetSqlString(0).Value) End While End Using End Using Catch ex As Exception Me.lblMessage.Text = ex.Message End Try End If End Sub 本文出自 “章立民” 博客,转载请与作者联系! 本文出自 51CTO.COM技术博客 |






章立民
博客统计信息
热门文章
最新评论
友情链接