您的位置:首页 > 其它

Repeater 嵌套repeater输出不规则列表

2011-12-04 18:54 295 查看
<asp:Repeater id="RP_Leader_Now" runat="server"

onitemcommand="RP_Leader_ItemCommand" OnItemDataBound="RP_Leader_Now_ItemDataBound">

<HeaderTemplate>

<table width="670" align="center" cellpadding="0" bgcolor="#88C8EC">

<tr>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">1</th>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">2</th>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">3</th>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">4</th>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">5</th>

<th align="center" bgcolor="#F2FBFF" class="song12blue01">6</th>

</tr>

</HeaderTemplate>

<ItemTemplate>

<tr>

<td align="center" bgcolor="#FFFFFF" class="song12blue03" rowspan="<%#GetRowsCount(Eval("CarList"))%>"> <%#Eval("ID")%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03" rowspan="<%#GetRowsCount(Eval("CarList"))%>"> <%#Eval("ID")%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>

</tr>

<asp:Repeater id="RP_Car_Now" runat="server">

<ItemTemplate>

<tr>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>

<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>

</tr>

</ItemTemplate>

</asp:Repeater>

</ItemTemplate>

<FooterTemplate>

</table>

</FooterTemplate>

</asp:Repeater>

<asp:Repeater id="RP_Leader_Now" runat="server"
onitemcommand="RP_Leader_ItemCommand"  OnItemDataBound="RP_Leader_Now_ItemDataBound">

<HeaderTemplate>
<table width="670"  align="center" cellpadding="0"  bgcolor="#88C8EC">
<tr>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">1</th>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">2</th>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">3</th>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">4</th>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">5</th>
<th align="center" bgcolor="#F2FBFF" class="song12blue01">6</th>

</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td align="center" bgcolor="#FFFFFF" class="song12blue03" rowspan="<%#GetRowsCount(Eval("CarList"))%>"> <%#Eval("ID")%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03" rowspan="<%#GetRowsCount(Eval("CarList"))%>"> <%#Eval("ID")%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#GetCarID(Eval("CarList"))%></td>
</tr>

<asp:Repeater id="RP_Car_Now" runat="server">

<ItemTemplate>
<tr>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>
<td align="center" bgcolor="#FFFFFF" class="song12blue03"> <%#Eval("CarID")%></td>

</tr>
</ItemTemplate>

</asp:Repeater>

</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>


C#:

C#代码

//输出数据例子

IList<MdlLeaderInfo> data

{

get

{

IList<MdlLeaderInfo> _data = new List<MdlLeaderInfo>();

MdlLeaderInfo li1 = new MdlLeaderInfo();

li1.ID = "li1";

MdlLeaderInfo li2 = new MdlLeaderInfo();

li2.ID = "li2";

MdlLeaderInfo li3 = new MdlLeaderInfo();

li3.ID = "li3";

MdlLeaderCar lc1 = new MdlLeaderCar();

lc1.CarID = "lc1";

MdlLeaderCar lc2 = new MdlLeaderCar();

lc2.CarID = "lc2";

MdlLeaderCar lc3 = new MdlLeaderCar();

lc3.CarID = "lc3";

IList<MdlLeaderCar> lcList1 = new List<MdlLeaderCar>();

IList<MdlLeaderCar> lcList2 = new List<MdlLeaderCar>();

lcList1.Add(lc1);

lcList2.Add(lc2);

lcList2.Add(lc3);

li1.CarList = lcList1;

li2.CarList = lcList2;

_data.Add(li1);

_data.Add(li2);

_data.Add(li3);

return _data;

}

}

//列表信息绑定

private void LeaderBind_Now()

{ this.RP_Leader_Now.DataSource = data;

this.RP_Leader_Now.DataBind();

}

//内层表信息绑定

protected void RP_Leader_Now_ItemDataBound(object sender, RepeaterItemEventArgs e)

{

MdlLeaderInfo mdlLeaderInfo = e.Item.DataItem as MdlLeaderInfo;

Repeater RP_Car = e.Item.FindControl("RP_Car_Now") as Repeater;

if (mdlLeaderInfo != null && RP_Car != null)

{

if (mdlLeaderInfo.CarList == null || mdlLeaderInfo.CarList.Count == 0)

RP_Car.DataSource = mdlLeaderInfo.CarList;

else

{

mdlLeaderInfo.CarList.RemoveAt(0);

RP_Car.DataSource = mdlLeaderInfo.CarList;

}

RP_Car.DataBind();

}

}

//输出数据例子
IList<MdlLeaderInfo> data
{
get
{
IList<MdlLeaderInfo> _data = new List<MdlLeaderInfo>();
MdlLeaderInfo li1 = new MdlLeaderInfo();
li1.ID = "li1";
MdlLeaderInfo li2 = new MdlLeaderInfo();
li2.ID = "li2";
MdlLeaderInfo li3 = new MdlLeaderInfo();
li3.ID = "li3";

MdlLeaderCar lc1 = new MdlLeaderCar();
lc1.CarID = "lc1";
MdlLeaderCar lc2 = new MdlLeaderCar();
lc2.CarID = "lc2";
MdlLeaderCar lc3 = new MdlLeaderCar();
lc3.CarID = "lc3";

IList<MdlLeaderCar> lcList1 = new List<MdlLeaderCar>();
IList<MdlLeaderCar> lcList2 = new List<MdlLeaderCar>();

lcList1.Add(lc1);
lcList2.Add(lc2);
lcList2.Add(lc3);

li1.CarList = lcList1;
li2.CarList = lcList2;

_data.Add(li1);
_data.Add(li2);
_data.Add(li3);

return _data;
}
}

//列表信息绑定
private void LeaderBind_Now()
{   this.RP_Leader_Now.DataSource = data;
this.RP_Leader_Now.DataBind();
}
//内层表信息绑定
protected void RP_Leader_Now_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
MdlLeaderInfo mdlLeaderInfo = e.Item.DataItem as MdlLeaderInfo;
Repeater RP_Car = e.Item.FindControl("RP_Car_Now") as Repeater;

if (mdlLeaderInfo != null && RP_Car != null)
{
if (mdlLeaderInfo.CarList == null || mdlLeaderInfo.CarList.Count == 0)
RP_Car.DataSource = mdlLeaderInfo.CarList;
else
{
mdlLeaderInfo.CarList.RemoveAt(0);
RP_Car.DataSource = mdlLeaderInfo.CarList;
}
RP_Car.DataBind();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: