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

    前台页面部分:
    <asp:Repeater id="rptCategories" runat="server"> 
    <HeaderTemplate> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    </HeaderTemplate> 
    <ItemTemplate> 
        <!--分类名称--> 
        <tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %></th></tr> 
        <!--分类下的产品--> 
        <asp:Repeater id="rptProduct" runat="server"> 
          <ItemTemplate> 
            <tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %></a></td></tr> 
          </ItemTemplate> 
        </asp:Repeater> 
    </ItemTemplate> 
    <FooterTemplate> 
        </table> 
    </FooterTemplate> 
    </asp:Repeater> 
    后台代码部分(部分代码):
    //在绑定分类品名时,绑定分类下的产品 
    private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) 
        BLL.Products products =new BLL.Products(); 
        if (e.Item.ItemType == ListItemType.Item ||    e.Item.ItemType == ListItemType.AlternatingItem) 
        { 
            Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct"); 
            //找到分类Repeater关联的数据项 
            DataRowView rowv = (DataRowView)e.Item.DataItem; 
            //提取分类ID 
            int CategorieId = Convert.ToInt32(rowv["ID"]); 
            //根据分类ID查询该分类下的产品,并绑定产品Repeater 
            rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId); 
            rptProduct.DataBind(); 
        } 
    另一种方法: 前台:
    <!-- start parent repeater -->
    <asp:repeater id="parentRepeater" runat="server">
       <itemtemplate>
          <b><%# DataBinder.Eval(Container.DataItem,"au_id") %></b><br>
          <!-- start child repeater -->
          <asp:repeater id="childRepeater" datasource='<%# ((DataRowView)Container.DataItem)
          .Row.GetChildRows("myrelation") %>' runat="server">
             <itemtemplate>
                <%# DataBinder.Eval(Container.DataItem, "[\"title_id\"]")%><br>
             </itemtemplate>
          </asp:repeater>
          <!-- end child repeater -->
       </itemtemplate>
    </asp:repeater>
    <!-- end parent repeater -->
    后台:
    public partial class NestedRepeater : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Repeater childRepeater;//parentRepeater;
        public NestedRepeater()
        {
            Page.Init += new System.EventHandler(Page_Init);
        }
        public void Page_Load(object sender, EventArgs e)
        {
            //Create the connection and DataAdapter for the Authors table.
            SqlConnection cnn = new SqlConnection("server=.;database=pubs; user id=sa;pwd=;");
            SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors", cnn);
            //Create and fill the DataSet.
            DataSet ds = new DataSet();
            cmd1.Fill(ds, "authors");
            //Create a second DataAdapter for the Titles table.
            SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor", cnn);
            cmd2.Fill(ds, "titles");
            //Create the relation bewtween the Authors and Titles tables.
            ds.Relations.Add("myrelation",
            ds.Tables["authors"].Columns["au_id"],
            ds.Tables["titles"].Columns["au_id"]);
            //Bind the Authors table to the parent Repeater control, and call DataBind.
            parentRepeater.DataSource = ds.Tables["authors"];
            Page.DataBind();
            //Close the connection.
            cnn.Close();//51aspx.com
        }
        private void Page_Init(object sender, EventArgs e)
        {
            InitializeComponent();
        }
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);
        }
    }
  • 相关阅读:
    实验六 继承定义与使用
    第四周java实验
    解决 GitHub 提交次数过多 .git 文件过大的问题
    添加开机启动项目
    bash启用 z(同理git bash)
    WIndows to go安装win10系统到移动硬盘
    Make for Windows
    zotero引用3GPP标准暂不完善——使用BibTeX
    Spyder中内嵌的IPython Console自动续行而不运行的问题
    texstudio.org打不开——下载最新版TeXstudio
  • 原文地址:https://www.cnblogs.com/top5/p/2226590.html
Copyright © 2011-2022 走看看