datalist web 控件和repeater web 控件有点类似,不过datalist web 控件除了可以将数据依照我们所制定的样版显示出来外,还可以进行repeater web 控件无法作到的数据编辑。接下来我们先来了解datalist web 控件的使用语法:
<asp:datalist
id="被程序代码所控制的名称"
runat="server"
cellpadding="像素"
cellspacing="像素"
datakeyfield="数据源的主键字段"
datasource='<%#数据系结叙述%>'
gridlines="none | horizontal | vertical | both"
repeatcolumns="columncount"
repeatdirection="vertical | horizontal"
repeatlayout="flow | table"
showfooter="true | false"
showheader="true | false"
onscancelcommand="事件程序"
ondeletecommand="事件程序"
oneditcommand="事件程序"
onitemcommand="事件程序"
onitemcreated="事件程序"
onupdatecommand="事件程序"
>
<template name="样版名称">
以html 所定义的样版
</template >
其它样版定义...
alternatingitemstyle-property="value"
edititemstyle-property="value"
footerstyle-property="value"
headerstyle-property="value"
itemstyle-property="value"
selecteditemstyle-property="value"
separatorstyle-property="value"
</asp:datalist>
datalist web 控件常用的属性如下表所示:


datalist web 控件所支持的样版如下表所示:

其中item 样版也是必须要定义才能顺利显示资料。另外datalist web 控件也支持许多样式对象,可以让我们可以灵活的自订其显示外观,如下表所示:

下列范例利用datalist web 控件显示members 数据表,并指定要以表格的方式显示,每次显示两行:
<%@import namespace=system.data.ado%>
<%@import namespace=system.data%>
<!--#include file="gettable.inc"-->
<html>
<form runat="server">
<asp:datalist id="dla" repeatcolumns="2" gridlines="both"
runat="server">
<template name="itemtemplate">
<asp:image imageurl="ico1.gif" runat="server"/>
姓名: <%#container.dataitem("username")%>
</template>
</asp:datalist>
</form>
<script language="vb" runat="server">
sub page_load(sender as object, e as eventargs)
dim dtdatatable as datatable=gettable("ch05\myweb.mdb", "members")
dla.datasource=dtdatatable.defaultview
page.databind()
end sub
</script>
</html>
其中repeatdirection 属性决定数据排列的方式,如下图所示:
datalist web 控件支持六个事件,如下表所示:
