Repeater 如何横向显示数据?
发布网友
发布时间:2022-04-22 21:58
我来回答
共4个回答
热心网友
时间:2022-04-27 14:08
看你用什么了 可以用div+ul+li 也可以用 table
前台代码:
<table cellpadding="5" cellspacing="0" border="0" width="90">
<tr>
<%BindRelatedProcts();%>
<asp:Repeater ID="rptRelatedProcts" Runat=server>
<ItemTemplate>
<td class="mm blue" valign="top"><a href="Show.aspx?PID=<%# DataBinder.Eval(Container.DataItem, "ProctID") %>" target=_blank><img src='<%=config.Path%>upload/<%=proct.ProctImg%>' border=0 width="90"></a><br>>> <a href="Show.aspx?PID=<%# DataBinder.Eval(Container.DataItem, "ProctID") %>" target=_blank><%#DataBinder.Eval(Container.DataItem,"Name")%></a></td>
<%# showtr((Container.ItemIndex+1).ToString())%>
</ItemTemplate>
</asp:Repeater>
</tr>
</table>
后台代码:
public string showtr(string num)
{
string result = "";
if(int.Parse(num) % 6 == 0)
{
result = "</tr><tr>";
}
return result;
}
其实只要设置好repeater的样式即可控制每行显示记录条数
<div class="proctList">
<asp:Repeater ID="Repeater1" runat="server" >
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<a href="GoodsToDetails.aspx?goodsid=<%#Eval("GoodsID") %>&goodsname=<%#Eval("GoodsName")%>" target="_blank" >
<img alt="<%#Eval("GoodsName") %> " src= "<%#DataBinder.Eval(Container.DataItem,"mImageUrl")%>" width="113px" height="147px">
</a>
<p class="proct_msg">
<a target="_blank" title="<%#Eval("GoodsName") %>" href="GoodsToDetails.aspx?goodsid=<%#Eval("GoodsID") %>&goodsname=<%#Eval("GoodsName")%>"> <%#CutString(Eval("GoodsName").ToString() ,50) %> </a>
</p>
<p class="mprice">市场价¥<span><%#Eval("MarketPrice")%></span></p>
<p class="hprice">售价¥<span><%#Eval("HotPrice")%></span></p>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
样式设置如下:
.proctList{
border:1px solid #B7B7B7;
margin:0px;
width:560px;
}
.proctList ul{
margin:0px;
padding:0px;
list-style:none;
}
.proctList li{
display:inline;
float:left;
height:224px;
margin:10px 12px 20px 0px;
width:115px;
list-style:none;
}
热心网友
时间:2022-04-27 15:26
当然是可以的,repeater只是循环输出你放在模板列下的数据,而数据具体是怎么显示就看你css是怎么控制的了,如果想省事点可以选择使用datalist控件.
实例如下:
页面代码:
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal">
<ItemTemplate>
<div>
<a href="<%#((aTagInfo)Container.DataItem).Href%>">
<%#((aTagInfo)Container.DataItem).Text%></a>
</div>
</ItemTemplate>
</asp:DataList>
.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<aTagInfo> list = new List<aTagInfo>() {
new aTagInfo(){Href="http://www.sina.com",ClassName="selected",Text="有效房源"},
new aTagInfo(){Href="http://www.163.com",ClassName=null,Text="待上架"},
new aTagInfo(){Href="http://www.163.com",ClassName=null,Text="即将过期"},
new aTagInfo(){Href="http://www.163.com",ClassName=null,Text="过期房源"},
new aTagInfo(){Href="http://www.163.com",ClassName=null,Text="被投诉房源"}
};
DataList1.DataSource = list;
DataList1.RepeatColumns = list.Count;
DataList1.DataBind();
}
}
不明白的地方可以问我
热心网友
时间:2022-04-27 17:00
<asp:PlaceHolder ID="PlaceHolder2" runat="server" Visible='<%# (Container.ItemIndex + 1) % 4 ==1%>'>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# (Container.ItemIndex + 1) % 4 ==0 %>'>
在 item中 操作
热心网友
时间:2022-04-27 18:52
用<ul>嵌套起来,在加上样式表就OK了