积极答复者
repeater的嵌套使用,如何绑定内层的数据?请求各位好汉帮忙!致谢!

问题
答案
-
DEMO:
http://www.cnblogs.com/zmxmiss/archive/2009/02/26/1398635.html
http://blog.csdn.net/zx13525079024- 已建议为答案 强少 2010年10月12日 1:05
- 已标记为答案 BoberSongModerator 2010年10月15日 8:34
-
你好:
你只需要将第二个repeater控件放到第一个控件的ItemTemplate控件中。同时为第一个控件添加ItemDataBound事件,在事件中根据传值进行数据查询并绑定。
<asp:Repeater id="rptCategories" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
</HeaderTemplate>
<ItemTemplate>
<!--分类名称-->
<tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %></th></tr>
<!--分类下的产品-->
<asp:Repeater id="rptProduct" runat="server">
<ItemTemplate>
<tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %></a></td></tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
BLL.Products products =new BLL.Products();
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct");
//找到分类Repeater关联的数据项
DataRowView rowv = (DataRowView)e.Item.DataItem;
//提取分类ID
int CategorieId = Convert.ToInt32(rowv["ID"]);
//根据分类ID查询该分类下的产品,并绑定产品Repeater
rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId);
rptProduct.DataBind();
}
}http://tmouse.cnblogs.com/archive/2006/05/28/256274.html
http://www.cnblogs.com/seebook/archive/2007/07/24/829691.html希望对你有所帮助。
I am here!- 已标记为答案 BoberSongModerator 2010年10月15日 8:34
全部回复
-
DEMO:
http://www.cnblogs.com/zmxmiss/archive/2009/02/26/1398635.html
http://blog.csdn.net/zx13525079024- 已建议为答案 强少 2010年10月12日 1:05
- 已标记为答案 BoberSongModerator 2010年10月15日 8:34
-
你好:
你只需要将第二个repeater控件放到第一个控件的ItemTemplate控件中。同时为第一个控件添加ItemDataBound事件,在事件中根据传值进行数据查询并绑定。
<asp:Repeater id="rptCategories" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
</HeaderTemplate>
<ItemTemplate>
<!--分类名称-->
<tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %></th></tr>
<!--分类下的产品-->
<asp:Repeater id="rptProduct" runat="server">
<ItemTemplate>
<tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %></a></td></tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
BLL.Products products =new BLL.Products();
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct");
//找到分类Repeater关联的数据项
DataRowView rowv = (DataRowView)e.Item.DataItem;
//提取分类ID
int CategorieId = Convert.ToInt32(rowv["ID"]);
//根据分类ID查询该分类下的产品,并绑定产品Repeater
rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId);
rptProduct.DataBind();
}
}http://tmouse.cnblogs.com/archive/2006/05/28/256274.html
http://www.cnblogs.com/seebook/archive/2007/07/24/829691.html希望对你有所帮助。
I am here!- 已标记为答案 BoberSongModerator 2010年10月15日 8:34