日期:2014-05-17  浏览次数:20443 次

Repeater嵌套出现重复行
我的数据表如下:
id caiDan titleName neiRong

1 新闻类 1号的新闻 122323321adsfd

2 新闻类 2号的新闻 12rrr321adsfd

3 音乐类 2012流行音乐 12天天21adsfd

查询语句“select * from tbCaiDan” 然后绑定给最外层的Repeater1

然后在Repeater1_ItemDataBound里写
C# code


        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater Repeater2 = e.Item.FindControl("Repeater2") as Repeater;
            String Menu1 = DataBinder.Eval(e.Item.DataItem, "caiDan").ToString();
            System.Data.DataView dv = t_dt.DefaultView;
            dv.RowFilter = "caiDan='" + Menu1 + "'";
            Repeater2.DataSource = dv;
            Repeater2.DataBind();
        }



最后出来的菜单还是重复 样式如下:
新闻类
--1号的新闻
--2号的新闻
新闻类
--1号的新闻
--2号的新闻
音乐类
--2012流行音乐

为什么会出现重复?怎么去除啊 纠结


------解决方案--------------------
System.Data.DataView dv = t_dt.DefaultView;
dv.RowFilter = "caiDan='" + Menu1 + "'";

这个d_dt哪来的?
------解决方案--------------------
t_dt这个数据源下有重复行
------解决方案--------------------
<!-- 子Repeater -->
<asp:Repeater ID="childRepeater" runat="server" DataSource='<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("Id") %>'>
<ItemTemplate>
<li>
<input type="checkbox" name="cb_<%=parentId %><%# Container.ItemIndex + 1 %>" />
<%# DataBinder.Eval(Container.DataItem, "[\"Title\"]")%></li>
</ItemTemplate>
</asp:Repeater>
是否父级重复