.NET ------ Repeater迴圈巢狀
阿新 • • 發佈:2020-09-14
實現:藉助兩個表計劃表 和計劃物料表(一對多關係),物料表中有計劃表主鍵,
使用 兩個 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, " andClassJiHuaTitleListGuid='" + 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>