Repeater 如何显示一行两列
显示结果是这个样财经信息 体育信息
新闻联播 最新新闻
显示格式像上面一样,请各位帮帮忙
--------------------编程问答-------------------- 上網隨便找個Repeater資料看看. --------------------编程问答-------------------- 这个控件不会生成多余的HTML代码,也就说等于是用HTML布局实现这样的排版了,可以用DIV……
<div style="width:100px">
<ul>
<Repeater>
<li>名称</li>
</Repeater>
</ul>
</div>
应该就可以了吧…… --------------------编程问答-------------------- 在你循环的li里做样式就可以了; --------------------编程问答-------------------- repeater控件分成两列显示
两列显示可以用DIV+CSS也可以用下面的方法
<table>
<asp:repeater id="myRepeater" runat="server">
<ItemTemplate>
<tr>
<td>
第一列
</td>
</ItemTemplate>
<AlternatingItemTemplate>
<td>
第二列
</td>
</tr>
</AlternatingItemTemplate>
</asp:repeater>
</table>
或者
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 2 == 0)
{
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i++;//每一条记录绑定的时候就会加1
} --------------------编程问答-------------------- 供参考
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Email")%>
</ItemTemplate>
<AlternatingItemTemplate>
<font style="color:red">
<%# DataBinder.Eval(Container.DataItem, "Email")%>
</font>
<br />
</AlternatingItemTemplate>
</asp:Repeater>
--------------------编程问答-------------------- 参考:
this.Repeater1.DataSource = db.ExecuteDataset("SELECT TOP 10 Email FROM users").Tables[0];
this.Repeater1.DataBind();
http://topic.csdn.net/u/20090617/15/75d6bc6a-8cf9-4ea6-bdf6-b06aa705ec56.html
--------------------编程问答-------------------- 换datalist就行了,通过属性设置成几列都行,还可以设置按左右排显示。比repeater用法灵活、简单多了 --------------------编程问答--------------------
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
int i = e.Item.ItemIndex+1;
//这个20是Repeater1显示的记录总数,有多少写多少,以跳出循环,否则最后会产生下面LiteralControl括号中的多余的
if (i % 2 == 0 && i < 20) </LI><li>
{
//这里根据Repeater中是用tr td还是ul li实际填写
e.Item.Controls.Add(new LiteralControl("</LI><li>"));
}
i++;
}
--------------------编程问答-------------------- datalist --------------------编程问答-------------------- 设置属性: RepeatRedirect=Horizontal --------------------编程问答-------------------- --------------------编程问答-------------------- <asp:Repeater ID="Repeater1" runat="server">
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
int i = e.Item.ItemIndex+1;
//这个20是Repeater1显示的记录总数,有多少写多少,以跳出循环,否则最后会产生下面LiteralControl括号中的多余的</LI><li>
if (i % 2 == 0 && i < 20)
{
//这里根据Repeater中是用tr td还是ul li实际填写
e.Item.Controls.Add(new LiteralControl("</LI><li>"));
}
i++;
}
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr><td>11</td><td>22</td></tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater> --------------------编程问答-------------------- repeater跟table和div结合来用吧 --------------------编程问答-------------------- 用div控制吧 --------------------编程问答--------------------
--------------------编程问答-------------------- RepeatRedirect=Horizontal
<table>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<tr >
<td>
<table>
<tr>
<td><%#Eval("CustomerID") %></td>
<td><%#Eval("CompanyName") %></td>
</tr>
<tr>
<td><%#Eval("City") %></td>
<td><%#Eval("Phone") %></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<hr />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
RepeatColumn=2 --------------------编程问答-------------------- <ItemTemplate>
<% if (i == 0)
{%>
<tr> <% } %>
<td class="rank"><a href="xxx?id=/<%# Eval("ID") %>.html" target="_blank"><%# Eval("qymc") %></a></td>
<%if (i == 1)
{%>
</tr>
<%} i = (i + 1) % 2; %>
</ItemTemplate>
.cs public int i = 0; --------------------编程问答--------------------
--------------------编程问答--------------------
<ItemTemplate>
<% if (i == 0)
{%>
<tr> <% } %>
<td class="rank"> <a href="xxx?id=/ <%# Eval("ID") %>.html" target="_blank"> <%# Eval("qymc") %> </a> </td>
<%if (i == 1)
{%>
</tr>
<%} i = (i + 1) % 2; %>
</ItemTemplate>
.cs public int i = 0;
都行啊 --------------------编程问答-------------------- 绑定就行了 --------------------编程问答-------------------- RepeatRedirect=Horizontal // 方向
RepeatColumn=2 //列数
然后在itemTemplates 里面设置排版吧。 --------------------编程问答--------------------
--------------------编程问答-------------------- 呃...刚才那个有点乱 重发一个:
<asp:Repeater runat="server" ID="tt" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<div id="content" width:400px;text-align:left;>
</HeaderTemplate>
<ItemTemplate>
<div id="col" width:200px;float:left; >
<%#Eval("绑定") %>
</div>
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
<asp:Repeater runat="server" ID="tt">
<HeaderTemplate>
<div id="div" style="width:400px;text-align:left;">
</HeaderTemplate>
<ItemTemplate>
<div id="col" style="width:200px;float:left;">
<%#Eval("绑定") %>
</div>
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
--------------------编程问答-------------------- 弄个li吧,控制它的宽度就可以了 --------------------编程问答-------------------- 学习 --------------------编程问答--------------------
支持这个提意,方便快捷,div+css还是方便 --------------------编程问答-------------------- 大家多沟通一下下 --------------------编程问答-------------------- 难道放在重复体里面
<tr>
<td>eval("字段1")</td>
<td>eval("字段1")</td>
</tr>
这样不行吗?
<table>
</table>
分别放在头和尾不重复 --------------------编程问答-------------------- 供参考
HTML code
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Email")%>
</ItemTemplate>
<AlternatingItemTemplate>
<font style="color:red">
<%# DataBinder.Eval(Container.DataItem, "Email")%>
</font>
<br />
</AlternatingItemTemplate>
</asp:Repeater>
C# code
this.Repeater1.DataSource = db.ExecuteDataset("SELECT TOP 10 Email FROM users").Tables[0];
this.Repeater1.DataBind();
--------------------编程问答-------------------- 四楼的对。。。
补充:.NET技术 , ASP.NET