高分请教dataList问题?

觉v醒 2010-01-26 10:56:43
由于很少用datalist 对其属性很陌生 请教各位大侠下面问题

<asp:DataList ID="DataList1" runat="server" DataKeyField="newsID" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<div class="newConetent">
<table style="table-layout: fixed" border="0" cellspacing="0" cellpadding="0" width="100%">
<a title='<%# DataBinder.Eval(Container.DataItem,"newsTitle")%>' href='../newsInfo.aspx?newsID=<%# DataBinder.Eval(Container.DataItem,"newsID")%>'>
<%# DataBinder.Eval(Container.DataItem, "newsTitle")%>
</a>
</table>
</div>
</ItemTemplate>
</asp:DataList>


这是一个新闻的List 我现在要实现根据类别(sortID) 实现2行 7列的格式 如下图
体育 音乐
。。。 | 。。。
-----------------------------------------------------------
公司 | 通知
。。。 。。。
我已经得到了这4个sortID新闻的datatable(sortID,sortName,newTile) 要把dt的数据分别填入4个分区中,注意可能某个分类的新闻不足7条(不可能大于7条 我取数据已有过滤) 而且像“体育”这种分类名要根据sortName 生成
-----------------------------------------------
如有说的不清的 请跟帖说明 谢谢各位了
...全文
161 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyumei 2010-01-27
  • 打赏
  • 举报
回复
以上是我做的一个和你要的效果类似的,有什么不懂的可以问我
zhangyumei 2010-01-27
  • 打赏
  • 举报
回复
前台代码:
<asp:DataList ID="DataList1" runat="server" DataKeyField="CategoryID" RepeatColumns="2" Width="100%" ItemStyle-Width="50%" CellPadding="0" CellSpacing="0" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<div class="sol_right_list_box">
<div class="sol_right_list_title"><img src="images/小箭头.gif" alt="" align="middle" />  <%# Eval("CategoryName") %></div>
<div class="sol_right_list_list">
<ul>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li><a href='solutionschannel_Content.aspx?id=<%# Eval("SolutionID") %>' class="right_list_link" title=""><%# Eval("SolutionName") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
</div>
</ItemTemplate>
</asp:DataList>
后台代码:
DataList1.DataSource = cate.GetListView(Guid.Empty);
DataList1.DataBind();
protected void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
Repeater myRepeater = (Repeater)e.Item.FindControl("Repeater1");

if (myRepeater != null)
{
Guid gID = new Guid(DataList1.DataKeys[e.Item.ItemIndex].ToString());
myRepeater.DataSource = solution.GetTop3Solution(gID);
myRepeater.DataBind();

}
}
owen_008 2010-01-27
  • 打赏
  • 举报
回复

给楼主顶一个
觉v醒 2010-01-27
  • 打赏
  • 举报
回复
ok 排版我已解决 剩下的就是根据sortName 生成 新闻分类的问题 用一个linkbutton 貌似不行吧?
kiaoqq2010 2010-01-27
  • 打赏
  • 举报
回复
datalist不支持外套层的有问题的。建议用repeater
觉v醒 2010-01-27
  • 打赏
  • 举报
回复
应该是我表述不清 我得到的是一个datatable 包含了4个sortID的希望(从每个类别中取出7条) 但可能某类新闻没有7条 所以记录总数应为0-28条

另 给的需求是一个datalist 搞定
sunyagang 2010-01-27
  • 打赏
  • 举报
回复
UP……
Dream_Hunter_ 2010-01-26
  • 打赏
  • 举报
回复
RepeatDirection 显示方向
RepeatColumns 列数
设置这两个就好了
TalesTen 2010-01-26
  • 打赏
  • 举报
回复
up
lovexilove 2010-01-26
  • 打赏
  • 举报
回复
up
tzs2304 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 lujun198206 的回复:]


这是一个新闻的List 我现在要实现根据类别(sortID) 实现2行 7列的格式 如下图
体育 音乐
。。。 | 。。。
-----------------------------------------------------------
公司 | 通知
。。。 。。。
我已经得到了这4个sortID新闻的datatable(sortID,sortName,newTile) 要把dt的数据分别填入4个分区中,注意可能某个分类的新闻不足7条(不可能大于7条 我取数据已有过滤) 而且像“体育”这种分类名要根据sortName 生成
[/Quote]
RepeatColumns="2"设置要在 DataList 控件中显示的列数。
可以先找到对应的4个分类,分两列显示,再去根据分类绑定你的4个sortID新闻的datatable(sortID,sortName,newTile),当id=体育时根据sortName 生成

xiangqianxi 2010-01-26
  • 打赏
  • 举报
回复
学习了!
sxinhe 2010-01-26
  • 打赏
  • 举报
回复
前台用到TABLE分成四个区,,后台写代码绑定。。。应该满足。
灵雨飘零 2010-01-26
  • 打赏
  • 举报
回复
把tabel分成四个区,每个区里放一个datalist控件,分别绑定到ds
沉默老哥 2010-01-26
  • 打赏
  • 举报
回复
把tabel分成四个区,每个区里放一个datalist控件,分别绑定到ds
阿非 2010-01-26
  • 打赏
  • 举报
回复
还有测试数据
阿非 2010-01-26
  • 打赏
  • 举报
回复
贴效果图
觉v醒 2010-01-26
  • 打赏
  • 举报
回复
up下
findkiss 2010-01-26
  • 打赏
  • 举报
回复
去属性里设置
加载更多回复(5)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧