zoukankan      html  css  js  c++  java
  • Repeater控件的多层嵌套,DataList控件的多层嵌套

    Repeater控件的多层嵌套,DataList控件的多层嵌套,本方法适用于Repeater和DataList,GridView没有测试

    在前台如果遇到多级分类菜单的时候,我们通常会使用到Repeater控件来展示,Repeater控件最大的有点就是不会生成任何多余的html标签,所以它不会影响的页面的效果,平时Repeater的二级嵌套我们可能都接触过,其实多层的嵌套也很简单,只不过是多了一句话,哈哈,好了接下来看代码吧,希望会对你有帮助!

     1         //注意此方法的所有数据源都必须是Dataset或DataTable,不能为Ilist<>会报错
    2 //绑定Repeater1数据
    3 private void bind()
    4 {
    5 this.Repeater1.DataSource = pbll.GetList("ParentId=50");//DataSet数据源
    6 this.Repeater1.DataBind();
    7
    8 }
    9 //绑定Repeater2数据
    10 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    11 {
    12 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    13 {
    14 Repeater rep = (Repeater)e.Item.FindControl("Repeater2");//找到Repeater1里的Repeater2
    15 //这句话是关键一定不能忘,为Repeater2添加ItemDataBound的方法
    16 rep.ItemDataBound += new RepeaterItemEventHandler(SmallCategories_ItemDataBound);
    17 DataRowView rowv = (DataRowView)e.Item.DataItem;//获取Repeater1绑定行的数据视图
    18 int Pid = Convert.ToInt32(rowv["Pid"]);//Pid为数据库列名字段
    19 rep.DataSource = pbll.GetList("ParentId=" + Pid);//根据pid查询返回DataSet
    20 rep.DataBind();
    21
    22 }
    23 }
    24 //绑定Repeater3数据(这个方法是自己写的)
    25 protected void SmallCategories_ItemDataBound(object sender, RepeaterItemEventArgs e)
    26 {
    27 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    28 {
    29 Repeater rep = (Repeater)e.Item.FindControl("Repeater3");
    30 DataRowView rowv = (DataRowView)e.Item.DataItem;
    31 int Pid = Convert.ToInt32(rowv["Pid"]);
    32 rep.DataSource = pbll.GetList("ParentId=" + Pid);
    33 rep.DataBind();
    34 }
    35 }

    使用DataList多层嵌套时,把这句话 rep.ItemDataBound += new RepeaterItemEventHandler(SmallCategories_ItemDataBound),替换为

    rep.ItemDataBound += new DataListItemEventHandler(SmallCategories_ItemDataBound)即可

    好了就是这些,很简单吧,记得我写的注意,不然会报错的,有不明白的可以留言给我,请大家多多关注 我的博客,我会把更多的经典的小例子发布的我的博客上,更多的精品源码,请访问天天源码论坛(www.ttyuanma.com)  

  • 相关阅读:
    google说 老子 = I !
    昨日种种死 今日种种生
    设定Access数据库自增长字段初始值
    [c路历程]品品数组这杯茶
    爱上位运算
    .Net中的委托
    Jquery css函数用法(判断标签是否拥有某属性)
    记录几条简单的正则表达式
    ASP.NET MVC中DropDownList的使用
    C#如何获取object对象的属性值
  • 原文地址:https://www.cnblogs.com/tangxueyang/p/2106761.html
Copyright © 2011-2022 走看看