Repeater嵌套Repeater

來源:互聯網
上載者:User

 

第一步:在前台建立兩個Repeater,一個嵌套在另一個Repeater裡面,下面代碼沒什麼好說的。

           <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">            <ItemTemplate>            <table border="1" bordercolor="gray" style="border-collapse: collapse; ">             <tr bgcolor="#c0c0c0" style="color:DimGray; font-weight:bold;">              <td width="70px" >               名稱:              </td>              <td width="350px">               <%# Eval("project_name")%>              </td>             </tr>                                 <tr>              <td colspan="2">                  <asp:Repeater ID="Repeater2" runat="server">                  <HeaderTemplate>                    <table border="1" bordercolor="gray" style="border-collapse:collapse;">                    <tr>                     <td width="68px">                       組號                     </td>                     <td width="120px">                       組金額                     </td>                    </tr>                    </table>                  </HeaderTemplate>                  <ItemTemplate>                    <table border="1" bordercolor="gray" style="border-collapse: collapse;">                    <tr>                     <td width="68px">                       <%# Eval("group_no")%>                     </td>                     <td width="120px">                       <%# string.Format("{0:N0}", Eval("app_value_group"))%>                    </td>                    </tr>                    </table>                  </ItemTemplate>                  </asp:Repeater>             </td>              </tr>            </table>            <br />            </ItemTemplate>            </asp:Repeater>

第二步:建立Repeater1的綁定函數。並在適當的地方引用。

    private void prRepeater1([參數1][,參數2])    {        //SQL語句        string sql = "XXXXX";        //資料庫操作類執行SQL語句並返回dataset等        this.Repeater1.DataSource =DB.AccessAdp(sql);        //綁定        this.Repeater1.DataBind();    }      protected void Page_Load(object sender, EventArgs e)    {        //頁面載入引用        this.prRepeater1([參數1][,參數2]);     }

第三步:也是最關鍵的地方,在Repeater1的ItemDataBound事件中綁定Repeater2,代碼如下:

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)    {        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)        {            Repeater rep = e.Item.FindControl("Repeater2") as Repeater;            DataRowView rowv = (DataRowView)e.Item.DataItem;            //以下是讀取Repeater1中綁定資料的欄位,用於Repeater2的查詢條件            string strDecide_No =rowv["xxxx"].ToString();            string strVer_No = rowv["xxxx"].ToString();             //以下是Repeater2的資料讀取和綁定            string sql = " XXXXXX";            //調用資料操作類執行SQL語句            rep.DataSource = DB.AccessAdp(sql);            rep.DataBind();        }    }

以上是實現過程,SQL語句和資料操作類沒有列出來,請根據實際情況進行適當修改。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.