那大家的留言板是用什么控件显示的?
要显示成:
name time
aa 19:00
words
留言内容
///////////////////////////
这该怎么显示?这几行都是数据据的同一行数据!
用repeater和datalist就可以。显示数据比较自由!,但是没分页功能.
datagrid有分页功能,那该怎么显示好呢?
要显示成:
name time
aa 19:00
words
留言内容
///////////////////////////
这该怎么显示?这几行都是数据据的同一行数据!
用repeater和datalist就可以。显示数据比较自由!,但是没分页功能.
datagrid有分页功能,那该怎么显示好呢?
datagrid?不能做到么?
<asp:TemplateColumn HeaderText="name"> <ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "字段1") %>' ID="Label4" /> <br>
<asp:Label runat="server" Text='<%# GetCode(DataBinder.Eval(Container.DataItem, "字段2")) %>' ID="Label5" />
</ItemTemplate>
</asp:TemplateColumn>
另外使用服务器端Table 可以添加行 列和取得的数据。<%@ Import Namespace="System.Data" %>
<html>
<script language = "C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
for (int i = 0; i < 10; i++)
{
dr = dt.NewRow();
dr[0] = "Item " + i.ToString();
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList1.DataSource = CreateDataSource();
DataList1.DataBind();
}
}
void Button1_Click(Object sender, EventArgs e)
{
if (DropDown1.SelectedIndex == 0)
DataList1.RepeatDirection = RepeatDirection.Horizontal;
else
DataList1.RepeatDirection = RepeatDirection.Vertical; if (DropDown2.SelectedIndex == 0)
DataList1.RepeatLayout = RepeatLayout.Table;
else
DataList1.RepeatLayout = RepeatLayout.Flow; DataList1.RepeatColumns=DropDown3.SelectedIndex+1;
if ((Check1.Checked ==true) && (DataList1.RepeatLayout == RepeatLayout.Table))
{
DataList1.BorderWidth = Unit.Pixel(1);
DataList1.GridLines = GridLines.Both;
}
else
{
DataList1.BorderWidth = Unit.Pixel(0);
DataList1.GridLines = GridLines.None;
}
}
</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>