`
北极的。鱼
  • 浏览: 152560 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

.net里repeater嵌套使用的完整代码

阅读更多

 把两个表的数据都读出来,建立两个表的关系  

ds.Relation.Add();   

 

然后在父Repeater的ItemDataBind事件中找到子Repeater   

再根据关系找到子Repeater对应的数据源,绑定上ok。

页面上:

<asp:Repeater   id="Repeater1"   runat="server">   
  <HeaderTemplate>   
  <table   width="500">   
  <tr   bgcolor=blue>   
  <td>用户留言显示</td>   
  </tr>   
  </HeaderTemplate>   
  <FooterTemplate>   
  </table>   
  </FooterTemplate>   
  <ItemTemplate>   
  <tr   bgcolor=aaaaaa>   
  <td>用户名:<%#DataBinder.Eval(Container.DataItem,"username")%></td>   
  </tr>   
  <tr>   
  <td>用户留言的显示</td>   
  </tr>   
  <tr>   
  <td><asp:Repeater   id="Repeater2"   runat="server">   
  <ItemTemplate>   
  留言信息<%#DataBinder.Eval(Container.DataItem,"content")%><br>   
  </ItemTemplate>   
  </asp:Repeater></td>   
  </tr>   
  </ItemTemplate>   
  </asp:Repeater>   

 

 

cs代码:

using   System;   
using   System.Collections;   
using   System.ComponentModel;   
using   System.Data;   
using   System.Drawing;   
using   System.Web;   
using   System.Web.SessionState;   
using   System.Web.UI;   
using   System.Web.UI.WebControls;   
using   System.Web.UI.HtmlControls;   
using   System.Data.SqlClient;

namespace AdoDotNet_Demo
{
    ///   <summary>   
    ///   RepeaterLink1   的摘要说明。   
    ///   </summary>   
    public class RepeaterLink1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Repeater Repeater2;
        protected System.Web.UI.WebControls.Repeater Repeater1;

        private void Page_Load(object sender, System.EventArgs e)
        {
            //   在此处放置用户代码以初始化页面   
            if (!Page.IsPostBack)
            {
                string strconn = "server=.;uid=sa;   pwd=;database=myweb";
                SqlConnection conn = new SqlConnection(strconn);
                SqlDataAdapter da = new SqlDataAdapter("select   *   from   userinfo", conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "user");
                SqlDataAdapter da1 = new SqlDataAdapter("select   *   from   content", conn);
                da1.Fill(ds, "content");
                ds.Relations.Add("relation1", ds.Tables["user"].Columns["UserName"], ds.Tables["content"].Columns["UserName"]);

                Repeater1.DataSource = ds.Tables["user"];
                Repeater1.DataBind();
            }
        }

        #region   Web   窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //   
            //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。   
            //   
            InitializeComponent();
            base.OnInit(e);
        }

        ///   <summary>   
        ///   设计器支持所需的方法   -   不要使用代码编辑器修改   
        ///   此方法的内容。   
        ///   </summary>   
        private void InitializeComponent()
        {
            this.Repeater1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item)
            {
                //repeater1行数据获得到   
                DataRowView drv = (DataRowView)e.Item.DataItem;
                DataView dv = drv.CreateChildView("relation1");

                //根据行数据得到repeater2的数据源   

                //找到当前行中repeater2   
                System.Web.UI.WebControls.Repeater r = (System.Web.UI.WebControls.Repeater)e.Item.FindControl("Repeater2");
                r.DataSource = dv;
                r.DataBind();
            }
        }
    }
}

 

分享到:
评论

相关推荐

    ASP.NET中repeater嵌套实现代码(附源码)

    repeater嵌套经常会在一些特殊效果显示下会用到,新手朋友们可以详细看下本文,希望对你有所帮助,代码很整洁同时附有源码

    repeater嵌套

    repeater嵌套 C#.Net实例代码

    repeater多层嵌套(c# asp.net)

    代码可直接复制粘贴使用,用c#做的,对于不想写代码的人不错的选择

    repeater编辑更新删除 C#.Net实例代码

    repeater编辑更新删除 C#.Net实例代码

    Repeater嵌套

    repeater嵌套经常会在一些特殊效果显示下会用到,新手朋友们可以详细看下本文,希望对你有所帮助,代码很整洁同时附有源码

    ASP.NET 控件的使用

    1.3.3 使用代码隐藏页面 24 1.3.4 处理页面事件 27 1.3.5 使用Page.IsPostBack属性 29 1.3.6 调试和跟踪ASP.NET页面 30 1.3.7 跟踪页面执行 33 1.4 安装ASP.NET Framework 35 1.5 小结 37 第2章 使用标准控件 38 ...

    asp.net知识库

    .NET 2.0里使用强类型数据创建多层应用 在MastPage中引用脚本资源 2.0正式版中callback的一些变化+使用示例(ASP.NET 2.0) asp.net 2.0 新特性 Visual Web Development 2005开发ASP.NET使用小技巧 ASP.NET 2.0 ...

    ASP.NET.4揭秘

    1.3.3 使用代码隐藏页面27 1.3.4 处理页面事件30 1.3.5 使用page.ispostback属性32 1.3.6 调试和跟踪asp.net页面33 1.3.7 跟踪页面执行36 1.4 安装asp.net38 .1.5 小结40 第2章 使用标准控件41 2.1 显示信息41 2.1.1...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    9.2.1 使用Repeater控件显示数据 9.2.2 在Repeater控件中分页显示数据 9.2.3 使用DetailsView控件操作一条记录 9.2.4 使用FormView控件更新和插入数据 9.3 本章小结 高级篇 第10章 导航与登录 10.1 站点导航 ...

    ASP.NET 3.5 开发大全

    10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户...

    ASP.NET3.5从入门到精通

    第 4 章 ASP.NET 的网页代码模型及生命周期 4.1 ASP.NET 的网页代码模型 4.1.1 创建ASP.NET 网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET 网站和ASP.NET 应用...

    ASP.NET 3.5 开发大全word课件

    10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户...

    ASP.Net中数据展示控件的嵌套使用示例

    我的处理方法是用Repeater来加载所有的User,同时在Repeater里面嵌套一个GridView,将每个User的任务展示出来!代码如下 前台代码: &lt;asp ID=Repeater1 runat=server onitemdatabound&gt; &lt;table border=0 ...

    ASP.NET 3.5 开发大全11-15

    10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户...

    ASP.NET 3.5 开发大全1-5

    10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户...

    ASPNET35开发大全第一章

    10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户...

    visual C# 2005 实例

    RepeaterSample 使用Repeater控件的实例。 SiteMapDataSourceSample 使用导航控件数据源的实例。 SqlDataSourceFillListBox 使用SQL数据源控件填充列表。 UserControlSample 创建用户控件的...

    C#编程经验技巧宝典

    2 &lt;br&gt;0003 设置程序代码行序号 3 &lt;br&gt;0004 开发环境全屏显示 3 &lt;br&gt;0005 设置窗口的自动隐藏功能 3 &lt;br&gt;0006 根据需要创建所需解决方案 4 &lt;br&gt;0007 如何使用“验证的目标架构”功能 4 ...

Global site tag (gtag.js) - Google Analytics