zoukankan      html  css  js  c++  java
  • Repeater嵌套Repeater

    第一步:在前台建立两个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语句和数据操作类没有列出来,请根据实际情况进行适当修改。

  • 相关阅读:
    appium的log详细分析
    安卓版本6.0打开uiautomator报错
    wmware搬家
    Appium_Python_Api文档
    EF常用命令行
    Java学习----this和super(在继承中)
    Java学习----到底调用哪一个方法(多态)
    Java学习----方法的覆盖
    Java学习----对象间的继承
    Java学习----一个对象怎么调用另一个对象呢?
  • 原文地址:https://www.cnblogs.com/52net/p/2541240.html
Copyright © 2011-2022 走看看