用table来控制:
<asp:datalist id=Content runat="server">
<headertemplate>
<table>
</headertemplate><itemtemplate>
<tr>
......
<tr>
</itemtemplate><footertemplate>
</table>
</footertemplate>
</asp:datalist>
<asp:datalist id=Content runat="server">
<headertemplate>
<table>
</headertemplate><itemtemplate>
<tr>
......
<tr>
</itemtemplate><footertemplate>
</table>
</footertemplate>
</asp:datalist>
解决方案 »
- 我的网页出现Invalid operation. The connection is closed.
- 怎么给内部短信加上语音提醒功能啊??
- 如何让Gridview.EmptyDataText内容居中显示
- 请各位帮个忙吧,在asp.net中怎样才能使panel的宽度保持固定不变?
- 这个是怎么回事啊?
- 高手求救啊!有关数据库更新的问题!在线等待!!
- 10分钟解决问题,11分钟结帖!!!!!
- 页面每过5秒,自动刷新,自动跳到下一道题目,该怎么做啊
- 如何运行这样的脚本,分不够再加,请高手指点迷径!
- 请大神帮帮忙。
- 已经生成了一个DataSet,我又声明了一个DataTable,如何让这个DataTable 指向这个DataSet 的一个表?
- 请大家介绍一个功能强大的,易用的图表(柱形图,线形图等)的控件?
CellPadding="pixels"
CellSpacing="pixels"
DataKeyField="DataSourceKeyField"
DataSource='<% databindingexpression %>'
ExtractTemplateRows="True|False"
GridLines="None|Horizontal|Vertical|Both"
RepeatColumns="ColumnCount"
RepeatDirection="Vertical|Horizontal"
RepeatLayout="Flow|Table"
ShowFooter="True|False"
ShowHeader="True|False"
OnCancelCommand="OnCancelCommandMethod"
OnDeleteCommand="OnDeleteCommandMethod"
OnEditCommand="OnEditCommandMethod"
OnItemCommand="OnItemCommandMethod"
OnItemCreated="OnItemCreatedMethod"
OnUpdateCommand="OnUpdateCommandMethod"
runat="server"> <AlternatingItemStyle ForeColor="Blue"/>
<EditItemStyle BackColor="Yellow"/>
<FooterStyle BorderColor="Gray"/>
<HeaderStyle BorderColor="Gray"/>
<ItemStyle Font-Bold="True"/>
<PagerStyle Font-Name="Ariel"/>
<SelectedItemStyle BackColor="Blue"/> <HeaderTemplate>
Header template HTML
</HeaderTemplate>
<ItemTemplate>
Item template HTML
</ItemTemplate>
<AlternatingItemTemplate>
Alternating item template HTML
</AlternatingItemTemplate>
<EditItemTemplate>
Edited item template HTML
</EditItemTemplate>
<SelectedItemTemplate>
Selected item template HTML
</SelectedItemTemplate>
<SeparatorTemplate>
Separator template HTML
</SeparatorTemplate>
<FooterTemplate>
Footer template HTML
</FooterTemplate></asp:DataList>
备注
通过定义模板,可以操作控件的布局和内容。下表列出 DataList 控件的不同模板。AlternatingItemTemplate 类似于 ItemTemplate 元素,但在 DataList 控件中隔行(交替行)呈现。通过设置 AlternatingItemTemplate 元素的样式属性,可以为其指定不同的外观。
EditItemTemplate 项在设置为编辑模式后的布局。此模板通常包含编辑控件(如 TextBox 控件)。当 EditItemIndex 设置为 DataList 控件中某一行的序号时,将为该行调用 EditItemTemplate。
FooterTemplate 在 DataList 控件的底部(脚注)呈现的文本和控件。
FooterTemplate 不能是数据绑定的。
HeaderTemplate 在 DataList 控件顶部(标头)呈现的文本和控件。
HeaderTemplate 不能是数据绑定的。
ItemTemplate 为数据源中的每一行都呈现一次的元素。
SelectedItemTemplate 当用户选择 DataList 控件中的一项时呈现的元素。通常的用法是增加所显示的数据字段的个数并以可视形式突出标记该行。
SeparatorTemplate 在各项之间呈现的元素。
SeparatorTemplate 项不能是数据绑定的。
通过为 DataList 控件的不同部分指定样式,可以自定义该控件的外观。下表列出用于控制 DataList 控件不同部分的外观的样式属性。样式属性 说明 样式类
AlternatingItemStyle 隔项(交替项)的样式。 TableItemStyle
EditItemStyle 正在编辑的项的样式。 TableItemStyle
FooterStyle 列表结尾处的脚注(如果有的话)的样式。 TableItemStyle
HeaderStyle 列表开始处的标头(如果有的话)的样式。 TableItemStyle
ItemStyle 单个项的样式。 Style
SelectedItemStyle 选定项的样式。 TableItemStyle
SeparatorStyle 各项之间的分隔符的样式。 TableItemStyle 注意 DataList 控件不同于 Repeater 控件之处在于它支持定向呈现(通过使用 RepeatColumns 和 RepeatDirection 属性)以及用于在 HTML 表内呈现的选项。
Items 集合包含 DataList 控件的数据绑定成员。当在 DataList 控件上调用 DataBind 方法时该集合将被填充。首先添加标头(如果有的话),然后为每个数据行添加一个 Item 对象。如果存在 SeparatorTemplate,则 Separators 将被创建并添加到各项之间,但不会添加到 Items 集合中。在为 DataSource 中的行创建所有项之后,Footer 被添加到该控件中(但不会添加到 Items 集合中)。最后,该控件为每一项(包括标头、脚注和分隔符)引发 ItemCreated 事件。与大多数集合不同,Items 集合不公开 Add 或 Remove 方法。但是,可以通过为 ItemCreated 事件提供处理程序来修改项内的内容。有关 DataList Web 服务器控件的属性和事件的详细信息,请参阅 DataList 类文档。示例
下面的示例说明如何使用 DataList 控件显示数据源中的项。[Visual Basic]
<%@ Page Language = "VB" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
Function CreateDataSource() As ICollection Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
Dim i As Integer For i = 0 To 9
dr = dt.NewRow()
dr(0) = "Item " & i.ToString()
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv End Function 'CreateDataSource Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then
DataList1.DataSource = CreateDataSource()
DataList1.DataBind()
End If End Sub 'Page_Load
Sub Button1_Click(sender As Object, e As EventArgs)
If DropDown1.SelectedIndex = 0 Then
DataList1.RepeatDirection = RepeatDirection.Horizontal
Else
DataList1.RepeatDirection = RepeatDirection.Vertical
End If If DropDown2.SelectedIndex = 0 Then
DataList1.RepeatLayout = RepeatLayout.Table
Else
DataList1.RepeatLayout = RepeatLayout.Flow
End If DataList1.RepeatColumns = DropDown3.SelectedIndex + 1
If Check1.Checked = True And DataList1.RepeatLayout = RepeatLayout.Table Then
DataList1.BorderWidth = Unit.Pixel(1)
DataList1.GridLines = GridLines.Both
Else
DataList1.BorderWidth = Unit.Pixel(0)
DataList1.GridLines = GridLines.None
End If End Sub 'Button1_Click
</script>
<body>
<form runat="server"> <h3>DataList Example</h3>
<asp:DataList id="DataList1" runat="server"
BorderColor="black"
CellPadding="3"
Font-Name="Verdana"
Font-Size="8pt"> <HeaderStyle BackColor="#aaaadd">
</HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle> <HeaderTemplate>
Items
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
</ItemTemplate>
</asp:DataList>
<p>
<hr noshade align="left" width="300px">
RepeatDirection:
<asp:DropDownList id=DropDown1 runat="server">
<asp:ListItem>Horizontal</asp:ListItem>
<asp:ListItem>Vertical</asp:ListItem>
</asp:DropDownList><br/>
RepeatLayout:
<asp:DropDownList id=DropDown2 runat="server">
<asp:ListItem>Table</asp:ListItem>
<asp:ListItem>Flow</asp:ListItem>
</asp:DropDownList><br/>
RepeatColumns:
<asp:DropDownList id=DropDown3 runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
</asp:DropDownList><br/>
Show Borders:
<asp:CheckBox id=Check1 runat="server" /><p>
<asp:LinkButton id=Button1
Text="Refresh DataList"
OnClick="Button1_Click"
runat="server"/>
</form>
</body>
</html>
对于DataList每行的高度都由最高的决定
建议用Repeater