您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0:如何让DropDownList同时拥有数据来源项目与自订项目 (转自章立民CnBlogs)

2006-12-29 16:35 507 查看

ASP.NET 2.0:如何让DropDownList同时拥有数据来源项目与自订项目



图表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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐