嵌套Repeater内的统计问题
首先看图:

说明:
1、前三列在第一层Repeater里绑定,后面的N列在第二层Repeater里绑定。
2、第二层Repeater里的四行数据,是平级的。
3、结构层次如下:
<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
<HeadTemplate>
<table>
</HeadTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("v1")%></td>
<td><%#Eval("v2")%></td>
<td><%#Eval("v3")%></td>
<td colspan="35">
<table>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt2" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt3" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt4" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt5" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem%> </td>
...
<td><%#????????%> </td>
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
</table>
</td>
</tr>
</ItemTemplate>
嵌套Repeater内的4个不同颜色块是四个tr区域,前三个绑定数据没问题,但是第四个的话,数据要是第三个/第二个取得的百分比数。
我现在想到的办法是,将嵌套内的第二个和第三个Repeater值分别取出来,然后计算将值绑定在一个ArrayList中,再把它作为第四个Repeater的数据源。
第四个Repeater内的td里通过<%#Container.DataItem%>可以获取ArrayList数据,但是现在问题是,第四个Repeater内有很多个td,后面其他的td怎么处理?
麻烦高手们帮忙看看,有什么解决办法,或是有其他什么更好的建议,谢谢!

说明:
1、前三列在第一层Repeater里绑定,后面的N列在第二层Repeater里绑定。
2、第二层Repeater里的四行数据,是平级的。
3、结构层次如下:
<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
<HeadTemplate>
<table>
</HeadTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("v1")%></td>
<td><%#Eval("v2")%></td>
<td><%#Eval("v3")%></td>
<td colspan="35">
<table>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt2" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt3" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt4" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>...</td>
...
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
<tr>
<td colspan="35" >
<asp:Repeater ID="rpt5" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem%> </td>
...
<td><%#????????%> </td>
</tr>
</ItemTemplate>
</FootTemplate>
</table>
</FootTemplate>
</asp:Repeater>
</td>
</tr>
</table>
</td>
</tr>
</ItemTemplate>
嵌套Repeater内的4个不同颜色块是四个tr区域,前三个绑定数据没问题,但是第四个的话,数据要是第三个/第二个取得的百分比数。
我现在想到的办法是,将嵌套内的第二个和第三个Repeater值分别取出来,然后计算将值绑定在一个ArrayList中,再把它作为第四个Repeater的数据源。
第四个Repeater内的td里通过<%#Container.DataItem%>可以获取ArrayList数据,但是现在问题是,第四个Repeater内有很多个td,后面其他的td怎么处理?
麻烦高手们帮忙看看,有什么解决办法,或是有其他什么更好的建议,谢谢!
...全文



