.NET ------ Repeater循环嵌套

实现:借助两个表计划表 和计划物料表(一对多关系),物料表中有计划表主键,

使用 两个 repeater 进行循环遍历

在计划中使用事件触发物料,通过隐藏域获取计划的主键,进行遍历获取该计划下的物料

 调用的方法

 将计划借助 repeate 控件进行遍历,所有的计划

//计划的repeater   ID

     List<ITEM.Model.qdMis4.CClass_JiHua_Titile_List> mList = bllcclass_jihua_titile_list.GetListSelCClass_JiHua_Titile_List3("*", base.EnterpriseGuid, strsql, page);
        this.RepeaterCClass_JiHua_Titile_List.DataSource = mList;
        this.RepeaterCClass_JiHua_Titile_List.DataBind();


// 计划的 repeater 执行的 方法
    protected void RepeaterCClass_JiHua_Titile_List_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        Repeater rpt = (Repeater)e.Item.FindControl("RepeaterCClass_JiHua_Titile_List_WuLiao");
        HiddenField HidGuid = (HiddenField)e.Item.FindControl("HiddenFieldClassJiHuaTitleListGuid");

        if (rpt != null && HidGuid != null)
        {
            List<ITEM.Model.qdMis4.CClass_JiHua_Titile_List_WuLiao> mList = _bllWuLiao.GetListSelCClass_JiHua_Titile_List_WuLiao3("*", base.EnterpriseGuid, " and ClassJiHuaTitleListGuid='" + HidGuid.Value + "'");
            rpt.DataSource = mList;
            rpt.DataBind();
        }
    }

前面的

//计划的
  <asp:Repeater ID="RepeaterCClass_JiHua_Titile_List" runat="server" OnItemDataBound="RepeaterCClass_JiHua_Titile_List_ItemDataBound">
    <ItemTemplate>
      
    <table width="100%" cellpadding="2" cellspacing="0" class="ttable_border4_1" style="white-space: nowrap; margin-top:4px;">
<tr>
    <td class="ttable_border4_1_background" colspan="4">
        <table border="0" cellpadding="0" cellspacing="0" width="100%"><tr>
            <td align="left" valign="middle" ><span><img src="../../qdadmin/qdimages/where.png" align="absmiddle" title='<%# DataBinder.Eval(Container.DataItem,"iNumber") %>' /></span><span>&nbsp;&nbsp;<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"JiaoXueDate")).ToString ("yyyy")=="1900"?"&nbsp;":Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"JiaoXueDate")).ToString ("yyyy-MM-dd") %>&nbsp;&nbsp;<%# DataBinder.Eval(Container.DataItem,"Study_Lesson_4303_Name") %></span></td>
            <td align="right" valign="bottom"><asp:LinkButton ID="btnSearchY" runat="server" OnClick="btnSearch_Click"><img src="../../qdAdmin/qdimages/reset.png" alt="刷新" /></asp:LinkButton>&nbsp;</td>
        </tr></table>
     </td>
</tr>

<tr>
           <td width="20%" align="right">单位名称:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"DeptName") %>&nbsp;</td><%--单位名称--%>
           <td width="20%" align="right">专业名称:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"ZhuanYeName") %>&nbsp;</td><%--专业名称--%>
</tr>
<tr>
           <td width="20%" align="right">班级名称:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"ClassName") %>&nbsp;</td><%--班级名称--%>
           <td width="20%" align="right">当前阶段:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"JieDuanName") %>&nbsp;</td><%--阶段名称--%>
</tr>

<tr>
           <td width="20%" align="right">班主任:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"BanZhuRen_LoginName") %>&nbsp;</td><%--班主任--%>
           <td width="20%" align="right">授课老师:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"JiaoXueTeacher_LoginName") %>&nbsp;</td><%--授课老师--%>
</tr>
<tr>
           <td width="20%" align="right">计划人数:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem, "StudentRenShu") %></td><%--上课学生人数--%>
           <td width="20%" align="right">应到人数:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem, "StudentRenShu_YingDao") %></td><%--上课学生人数--%>
</tr>

<tr>
           <td width="20%" align="right">请假人数:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem, "StudentRenShu_QingJia") %></td><%--教学课时--%>
           <td width="20%" align="right">领料人数:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem, "StudentRenShu_LingLiao") %></td><%--上课学生人数--%>
</tr>

<tr>
           <td width="20%" align="right">教学内容:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"JiaoXueContent") %>&nbsp;</td><%--教学内容--%>
           <td width="20%" align="right">领料单号:</td>
           <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem, "StockGoodsDanMark") %></td><%--领料单号--%>
</tr>


           <tr>
               <td  style="white-space: nowrap" align="right" colspan="4">
                    <p>
               <%if (IsUpLoad) %>
               <%{ %>
               <a href="javascript:return false;" title="附件" onclick="javascript:WebDialogLoad('附件',800,600, '../../qdAdmin/qdSucai/Fujian_win.aspx?pwidth=780&pheight=480&tbname=tbCClass_JiHua_Titile_List&fjname=FuJian&keyname=ClassJiHuaTitleListGuid&keyvalue=<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>&edit=upt&btn=<%=btnSearch.ClientID %>&title=附件')"><span class='badge badge-success'>附件</span></a>
               <%} %>
               <%else %>
               <%{ %>
               <a href="javascript:return false;" title="附件" onclick="javascript:WebDialogLoad('附件',800,600, '../../qdAdmin/qdSucai/Fujian_win.aspx?pwidth=780&pheight=480&tbname=tbCClass_JiHua_Titile_List&fjname=FuJian&keyname=ClassJiHuaTitleListGuid&keyvalue=<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>&edit=show&btn=<%=btnSearch.ClientID %>&title=附件')"><span class='badge'><%# DataBinder.Eval(Container.DataItem, "FuJian").ToString() == string.Empty ? "0" : DataBinder.Eval(Container.DataItem, "FuJian").ToString().Split('|').Length.ToString() %></span></a>
               <%} %>

                    <a href="javascript:return false;" title="备注"  onclick="javascript:WebDialogLoad('备注',600,400, '../../qdAdmin/qdRemark/Remark_Txt_Win.aspx?pwidth=580&pheight=280&rows=16&tbname=tbCClass_JiHua_Titile_List&keyname=ClassJiHuaTitleListGuid&keyvalue=<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>&edit=upt&btn=btnSearch&title=备注')" ><%if (IsUpt){%><span class='badge badge-success'>备注</span><%} %></a>

                    <%--<asp:LinkButton ID="LinkPrint" CssClass="ttbtnmobile" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>'  OnClick="btnPrint_Click">打印</asp:LinkButton>--%>

                    <asp:LinkButton Visible='<%# DataBinder.Eval(Container.DataItem, "StockGoodsDanGuid").ToString() =="" %>' ID="btnSubmit" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>'  OnClick="btnSubmit_Click"><span class="badge badge-danger">提交出库单</span></asp:LinkButton>
                    <asp:LinkButton Visible='<%# DataBinder.Eval(Container.DataItem, "StockGoodsDanGuid").ToString() !="" %>' ID="btnSubmitNot" runat="server"><span class="badge" title="已提交出库单">提交出库单</span></asp:LinkButton>
                        
               </td>
           </tr>

<tr>
    <td colspan="4">


//借助隐藏域记下 计划的主键   ClassJiHuaTitleListGuid
        <asp:HiddenField ID="HiddenFieldClassJiHuaTitleListGuid" runat="server" Value='<%# DataBinder.Eval(Container.DataItem,"ClassJiHuaTitleListGuid") %>' />



    <table width="100%" cellpadding="4" cellspacing="0" class="ttable_tr_line" style="white-space: nowrap">
       <tr bgcolor="#EEEEEE">
       <td  style="white-space: nowrap" align="center">商品编码</td><%--商品编码--%>
       <td  style="white-space: nowrap" align="center">商品名称</td><%--商品名称--%>
       <td  style="white-space: nowrap" align="center">规格型号</td><%--规格型号--%>
       <td  style="white-space: nowrap" align="center">产品类别</td><%--产品类别--%>
       <td  style="white-space: nowrap" align="center">数量单位</td><%--数量单位--%>
       <td  style="white-space: nowrap" align="center">人均数量</td><%--人均所需物料--%>
       <td  style="white-space: nowrap" align="center">数量小计</td><%--所需数量--%>
       <td  style="white-space: nowrap" align="center">成本单价</td><%--商品库存的成本单价--%>
       <td  style="white-space: nowrap" align="center">成本小计</td><%--小计,数量X单价--%>
       </tr>
       <tr>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--商品编码--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--商品名称--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--规格型号--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--产品类别--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--数量单位--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--所需数量--%>
       <td  style="white-space: nowrap" align="center">&nbsp;</td><%--商品库存的成本单价--%>
       <td  style="white-space: nowrap" align="center">总计:<asp:Label ID="LabelStatGoods_ChengBen_Acount" runat="server" Text="" ForeColor="#FF3300"></asp:Label></td><%--小计,数量X单价--%>
       </tr>

//物料的 Repeater ID   放在计划中
    <asp:Repeater ID="RepeaterCClass_JiHua_Titile_List_WuLiao" runat="server">
    <ItemTemplate>
           <tr bgcolor="#FFFFFF">
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"GoodsMark") %>&nbsp;</td><%--商品编码--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"GoodsName") %>&nbsp;</td><%--商品名称--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"GoodsFamat") %>&nbsp;</td><%--规格型号--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"Goods_Sort_4100_Name") %>&nbsp;</td><%--产品类别--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"Goods_DanWei_4108_Name") %>&nbsp;</td><%--数量单位--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem, "StudentRenJun") %></td><%--人均所需物料--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem, "UseGoodsSum") %></td><%--所需数量--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem, "Goods_ChengBen_Price") %></td><%--商品库存的成本单价--%>
           <td  style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem, "Goods_ChengBen_Acount") %></td><%--小计,数量X单价--%>
           </tr>
    </ItemTemplate>
    </asp:Repeater>
    </table>




    </td>
</tr>

    </table>

    </ItemTemplate>
    </asp:Repeater>
原文地址:https://www.cnblogs.com/obge/p/13668252.html