.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> <%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"JiaoXueDate")).ToString ("yyyy")=="1900"?" ":Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"JiaoXueDate")).ToString ("yyyy-MM-dd") %> <%# 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> </td> </tr></table> </td> </tr> <tr> <td width="20%" align="right">单位名称:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"DeptName") %> </td><%--单位名称--%> <td width="20%" align="right">专业名称:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"ZhuanYeName") %> </td><%--专业名称--%> </tr> <tr> <td width="20%" align="right">班级名称:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"ClassName") %> </td><%--班级名称--%> <td width="20%" align="right">当前阶段:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"JieDuanName") %> </td><%--阶段名称--%> </tr> <tr> <td width="20%" align="right">班主任:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"BanZhuRen_LoginName") %> </td><%--班主任--%> <td width="20%" align="right">授课老师:</td> <td align="left" width="30%"><%# DataBinder.Eval(Container.DataItem,"JiaoXueTeacher_LoginName") %> </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") %> </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"> </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">总计:<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") %> </td><%--商品编码--%> <td style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"GoodsName") %> </td><%--商品名称--%> <td style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"GoodsFamat") %> </td><%--规格型号--%> <td style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"Goods_Sort_4100_Name") %> </td><%--产品类别--%> <td style="white-space: nowrap" align="center"><%# DataBinder.Eval(Container.DataItem,"Goods_DanWei_4108_Name") %> </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>