dataview 对象也可以当成数据源使用。下列范例利用radiobuttonlist web 控件将members数据表的defaultview 对象当成数据源使用:
<%@import namespace=system.data.ado%>
<%@import namespace=system.data%>
<html>
<form id=form1 runat="server">
请选择一个使用者:
<asp:radiobuttonlist id="rbla" autopostback="true"
onselectedindexchanged="rbla_chg" runat="server"/>
</form>
<asp:label id="label1" runat="server"/>
<script language="vb" runat="server">
sub page_load(sender as object, e as eventargs)
if page.ispostback=false then '连接数据库读取数据及系结的工作只要作一
次
dim strconstr as string = "provider=microsoft.jet.oledb.4.0;" & _
"data source=c:\inetpub\wwwroot\cr\ch05\myweb.mdb"
dim strcomstr as string = "select * from members"
dim dsca as adodatasetcommand = new
adodatasetcommand(strcomstr,strconstr)
dim dsdataset as dataset = new dataset()
dsca.filldataset(dsdataset, "members")
rbla.datasource=dsdataset.tables("members").defaultview '将
datatable 当成数据源
rbla.datatextfield="username" '指定要显示的字段
rbla.datavaluefield="userid" '指定这个字段代表的值
page.databind()
end if
end sub
sub rbla_chg(sender as object, e as eventargs)
label1.text="选择项目为: " & rbla.selecteditem.text & _
"<br>所代表值为: " & rbla.selecteditem.value
end sub
</script>
</html>
包括checkboxlist、dropdownlist、listbox,以及radiobuttonlist web 控件在内,一次只能显示一个字段的资料;所以我们在指定datasource 属性后还必须指定datatextfiled 属性,表示要用来显示的字段为何。另外datavaluefield 属性可以用来表明使用者选择了一个项目后,代表该项目的值为何。上述的例子中我们将radiobuttonlist web 控件的datavaluefield 属性设定为userid,表示当使用者选择了使用者的姓名后,我们可以利用listitem 的value 属性取得这个项目的相关值;所以我们选择使用者「黄淑媛」后就可以取得其相关值「tina」,在许多应用上非常的方便。