1. 程式人生 > 實用技巧 >.NET ------ Repeater迴圈巢狀

.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>