通过使用模板显示数据源中的项。通过操作组成 DataList 控件的不同组件的模板(如 ItemTemplate 和 HeaderTemplate),可以自定义该控件的外观和内容。
|
---|
<asp:DataList
????AccessKey="string"
????BackColor="color name|#dddddd"
????BorderColor="color name|#dddddd"
????BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
????BorderWidth="size"
????Caption="string"
????CaptionAlign="NotSet|Top|Bottom|Left|Right"
????CellPadding="integer"
????CellSpacing="integer"
????CssClass="string"
????DataKeyField="string"
????DataMember="string"
????DataSource="string"
????DataSourceID="string"
????EditItemIndex="integer"
????Enabled="True|False"
????EnableTheming="True|False"
????EnableViewState="True|False"
????ExtractTemplateRows="True|False"
????Font-Bold="True|False"
????Font-Italic="True|False"
????Font-Names="string"
????Font-Overline="True|False"
????Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
????Font-Strikeout="True|False"
????Font-Underline="True|False"
????ForeColor="color name|#dddddd"
????GridLines="None|Horizontal|Vertical|Both"
????Height="size"
????HorizontalAlign="NotSet|Left|Center|Right|Justify"
????ID="string"
????OnCancelCommand="CancelCommand event handler"
????OnDataBinding="DataBinding event handler"
????OnDeleteCommand="DeleteCommand event handler"
????OnDisposed="Disposed event handler"
????OnEditCommand="EditCommand event handler"
????OnInit="Init event handler"
????OnItemCommand="ItemCommand event handler"
????OnItemCreated="ItemCreated event handler"
????OnItemDataBound="ItemDataBound event handler"
????OnLoad="Load event handler"
????OnPreRender="PreRender event handler"
????OnSelectedIndexChanged="SelectedIndexChanged event handler"
????OnUnload="Unload event handler"
????OnUpdateCommand="UpdateCommand event handler"
????RepeatColumns="integer"
????RepeatDirection="Horizontal|Vertical"
????RepeatLayout="Table|Flow"
????runat="server"
????SelectedIndex="integer"
????ShowFooter="True|False"
????ShowHeader="True|False"
????SkinID="string"
????Style="string"
????TabIndex="integer"
????ToolTip="string"
????UseAccessibleHeader="True|False"
????Visible="True|False"
????Width="size"
>
????????<AlternatingItemStyle />
????????<AlternatingItemTemplate>
<!-- child controls -->
????????</AlternatingItemTemplate>
????????<EditItemStyle />
????????<EditItemTemplate>
<!-- child controls -->
????????</EditItemTemplate>
????????<FooterStyle />
????????<FooterTemplate>
<!-- child controls -->
????????</FooterTemplate>
????????<HeaderStyle />
????????<HeaderTemplate>
<!-- child controls -->
????????</HeaderTemplate>
????????<ItemStyle />
????????<ItemTemplate>
<!-- child controls -->
????????</ItemTemplate>
????????<SelectedItemStyle />
????????<SelectedItemTemplate>
<!-- child controls -->
????????</SelectedItemTemplate>
????????<SeparatorStyle />
????????<SeparatorTemplate>
<!-- child controls -->
????????</SeparatorTemplate>
</asp:DataList> |
备注
示例
下面的示例演示如何使用 DataList 控件来显示数据源中的项。
Visual Basic? | 复制代码 |
---|
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
Function CreateDataSource() As ICollection
' Create sample data for the DataList control.
Dim dt As DataTable = New DataTable()
dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Description for item " & i.ToString()
dr(2) = 1.23 * (i + 1)
dr(3) = "Image" & i.ToString() & ".jpg"
dt.Rows.Add(dr)
Next i
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' Load sample data only once, when the page is first loaded.
If Not IsPostBack Then
ItemsList.DataSource = CreateDataSource()
ItemsList.DataBind()
End If
End Sub
</script>
<body>
<form runat=server>
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowBorder="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br>
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br>
<asp:Image id="ProductImage"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
|
C#? | 复制代码 |
---|
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
ICollection CreateDataSource()
{
// Create sample data for the DataList control.
DataTable dt = new DataTable();
DataRow dr;
// Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
// Populate the table with sample values.
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Description for item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dr[3] = "Image" + i.ToString() + ".jpg";
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
ItemsList.DataSource = CreateDataSource();
ItemsList.DataBind();
}
}
</script>
<body>
<form runat=server>
<h3>DataList Example</h3>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowBorder="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
List of items
</HeaderTemplate>
<ItemTemplate>
Description: <br>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br>
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
<br>
<asp:Image id="ProductImage"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
|
请参见