用repeater或datalist怎么绑定下面图中的数据啊!

沙伽more 2012-08-02 03:17:46

如图,数据要按照这种格式绑定出来 红线框起部分,数据条数不定

HTML代码如下:

<table cellspacing="0" class="pmodifyprice-list">
<thead>
<tr>
<td width="120">日期</td>
<td>船名</td>
<td>房型</td>
<td>价格</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">2012-08-01</td>
<td rowspan="3">ABC</td>
<td>A</td>
<td>500</td>
<td rowspan="3"><a href="javascript:;">123</a></td>
</tr>
<tr>
<td>B</td>
<td>400</td>
</tr>
<tr>
<td>C</td>
<td>300</td>
</tr>
<tr>
<td rowspan="2">2012-08-02</td>
<td rowspan="2">BCD</td>
<td>D</td>
<td>100</td>
<td rowspan="2"><a href="javascript:;">456</a></td>
</tr>
<tr>
<td>E</td>
<td>200</td>
</tr>
</tbody>
</table>
...全文
195 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
porschev 2012-08-02
  • 打赏
  • 举报
回复

方法1:
repeater嵌套,外层repeater的ItemDataBound事件中去Findcontrol("内层的repeater的ID"),
然后绑定内层的repeater(内层即你红色区域的部分)

方法2:
红色区域部分用Literal控件,在repeater的ItemDataBound事件中拼接出红色区域的HTML
去Findcontrol("Literal的ID"),最后赋给Literal的Text属性
zhangdaowu5 2012-08-02
  • 打赏
  • 举报
回复
<ItemTemplate>
<table class="editTab" cellspacing="0" cellpadding="0">
<tr>
......
</tr>
</table>
</ItemTemplate>

<%# DataBinder.Eval(Container.DataItem, "字段名") %>

在末班里面画出你需要的那种类型的布局,然后绑定后台代码改怎么写就怎么写,用Gridview也是一样的。
as497678 2012-08-02
  • 打赏
  • 举报
回复
楼主要这种效果?样式我没有调
<asp:DataList ID="DataList1" runat="server">
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" class="style1">
<tr>
<td>
船名
</td>
<td>
房型
</td>
<td>
价格
</td>
</tr>
<tr>
<td style="text-align: center; vertical-align: middle">
ABC
</td>
</HeaderTemplate>
<ItemTemplate>
<td colspan="2">
<table cellpadding="0" cellspacing="0" class="style1">
<tr>
<td>
<%#Eval ("房型") %>
</td>
<td>
<%#Eval ("价格") %>
</td>
</tr>
</table>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:DataList>
心态决定姿态 2012-08-02
  • 打赏
  • 举报
回复
这种带合并单元格的我一般都直接StringBuilder 后台拼HTML前台输出。 还是用代码好控制,控件太麻烦
as497678 2012-08-02
  • 打赏
  • 举报
回复
船名是要固定的还是需要数据绑定的?
天下在我心 2012-08-02
  • 打赏
  • 举报
回复
<tr>
<td class="style2"><% Eval("Repeater2绑定的字段1")%></td>
<td class="style2"><% Eval("Repeater2绑定的字段2")%></td>
</tr>
样式什么的自己定义啊
天下在我心 2012-08-02
  • 打赏
  • 举报
回复
看你这个效果图,嵌套的那个Repeater定义成tr套2个就行额
沙伽more 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
不用消失,你格式自己定义就行Repeater很灵活的
[/Quote]
啊,大神那这个怎么调啊,repeater调格式这个,真不会调啊!
天下如山 2012-08-02
  • 打赏
  • 举报
回复
repeater 就是好在格式灵活 你慢慢调整下格式。
天下在我心 2012-08-02
  • 打赏
  • 举报
回复
不用消失,你格式自己定义就行Repeater很灵活的
沙伽more 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
<table>
<tr>
<th></th><th></th> <th></th> <th></th>
<tr>
<asp:Repeater Id="Repeater1" >
<itemTemplate>
<tr>
<td><%#Eval("id") %></td>
<td><%# Eval("name")%></td>
<td cosplan="2">
<table>
……
[/Quote]
那这么实现的话就是把房型和价格两例合并了然后放一个TABLE,那表头上面的房型或价格就要消失一个哦??
天下在我心 2012-08-02
  • 打赏
  • 举报
回复
<table>
<tr>
<th></th><th></th> <th></th> <th></th>
<tr>
<asp:Repeater Id="Repeater1" >
<itemTemplate>
<tr>
<td><%#Eval("id") %></td>
<td><%# Eval("name")%></td>
<td cosplan="2">
<table>
<asp:Repeater Id="Repeater1" >
</asp:Repeater>
</table>
</td>
</tr>
</itemtemplate>
</asp:Repeater>
</table>
结构差不多就是这样,在Repeater1的ItemDataBind事件中,用findControl方法找到Repeqter2.
然后绑定Repeater2
理论上可以多级嵌套下去
沙伽more 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
repeater嵌套绑定
MVC的话 直接在页面直接嵌套循环 帅
直接代码么有
[/Quote]
不是用的MVC,用是的普通的三层架构!!
沙伽more 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
repeater嵌套绑定
MVC的话 直接在页面直接嵌套循环 帅
直接代码么有
[/Quote]
不是用的MVC,用是的普通的三层架构!!
沙伽more 2012-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
repeater或者DataList嵌套绑定
[/Quote]
我不是不知道怎么个嵌法啊,我嵌出来格式乱了,不知道怎么来合并行啊!
天下如山 2012-08-02
  • 打赏
  • 举报
回复
repeater嵌套绑定
MVC的话 直接在页面直接嵌套循环 帅
直接代码么有
天下在我心 2012-08-02
  • 打赏
  • 举报
回复
repeater或者DataList嵌套绑定

62,074

社区成员

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

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

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

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