利用Repeater控件显示主-从关系数据表

原创 2004年07月08日 18:39:00

本文介绍了一种利用Repeater控件显示主-从关系数据表的方法。

原文参见:http://support.microsoft.com/default.aspx?scid=kb;en-us;306154

NestedRepeater.aspx

<%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data" %>
<%@ Page language="c#" Codebehind="NestedRepeater.aspx.cs"
 AutoEventWireup="false" Inherits="eMeng.NestedRepeater" %>
<HTML>
<body>
<form runat="server">
<!-- 父Repeater开始 -->
<asp:repeater id="parentRepeater" runat="server">
  <itemtemplate>
    <b>
      <%# DataBinder.Eval(Container.DataItem,"au_id") %>
    </b>
    <br>
    <!-- 子Repeater开始 -->
    <asp:repeater id="childRepeater" runat="server"
     datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'>
      <itemtemplate>
        <%# DataBinder.Eval(Container.DataItem, "[/"title_id/"]")%>
        <br>
      </itemtemplate>
    </asp:repeater>
    <!-- 子Repeater结束 -->
  </itemtemplate>
</asp:repeater>
<!-- 父Repeater结束 -->
</form>
</body>
</HTML>


NestedRepeater.aspx.cs

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace eMeng
{
///
/// NestedRepeater 的摘要说明。
/// 本文介绍如何利用Repeater控件显示主-从关系的表格
/// 原文参见:
///
http://support.microsoft.com/default.aspx?scid=kb;en-us;306154
///
public class NestedRepeater : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Repeater parentRepeater;

public void Page_Load(object sender, EventArgs e)
{
  // 为Authors表创建 Connection 和 DataAdapter
  string cnnString = @"server=(local)/NetSDK;database=pubs; Integrated Security=SSPI;";
  SqlConnection cnn = new SqlConnection(cnnString);
  SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);

  //创建填充 DataSet.
  DataSet ds = new DataSet();
  cmd1.Fill(ds,"authors");

  // 为Titles表创建 DataAdapter
  SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
  cmd2.Fill(ds,"titles");

  // 创建 Authors 表和 Titles 表之间的关系.
  ds.Relations.Add("myrelation",
    ds.Tables["authors"].Columns["au_id"],
    ds.Tables["titles"].Columns["au_id"]);

  // 绑定Authors到父Repeater
  parentRepeater.DataSource = ds.Tables["authors"];
  Page.DataBind();

  cnn.Close();
  cnn.Dispose();
}
private void Page_Init(object sender, EventArgs e)
{
  InitializeComponent();
}
private void InitializeComponent()
{   
  this.Load += new System.EventHandler(this.Page_Load);
}
public NestedRepeater()
{
  Page.Init += new System.EventHandler(Page_Init);
}
}
}

粗略区分Gridview,repeater,datelist数据控件的差异

比较GridView Repeater DataList三种绑定控件、从灵活性和执行效率上综合考虑,Repeater当属第一。gridview功能最强大,但是对待嵌套绑定问题、疑难杂症,还是用Data...
  • jintougao
  • jintougao
  • 2014年01月24日 10:04
  • 1375

【ASP.net】解析Repeater 控件的模板

Repeater控件不具备内置的呈现功能,用户必须通过创建模板来为它提供布局. 重复的东西就说明有很多相同的,那就可以抽出来。抽出来的东西,面向对象中叫类,设计模式中可以是模板方法。在Repe...
  • u010542940
  • u010542940
  • 2014年12月04日 11:10
  • 1624

ajax刷新ASP.NET Repeater控件的数据

使用repeater控件时,遇到这样一个问题,
  • u010371458
  • u010371458
  • 2014年01月25日 16:27
  • 1685

repeater用法一步一步详讲,用来绑定和显示数据信息

估计要分两部:  一部分UI部分:在一个div里面可以写个repeater服务器控件,用来横排显示需要的数据; 首先,repeater这个控件,有head,items,foot三个部分,不一定全用。 ...
  • Theflybird
  • Theflybird
  • 2013年06月08日 15:41
  • 6325

给repeater添加序号

在做选课系统的时候新添加了快速选课的功能,其中涉及添加联系人的功能,这就需要显示数据,显示数据的时候就需要给数据编号。对于我来说有点难度,但还是欣然的面对任务,上网查了些资料对repeater控件有了...
  • liu_yujie2011com
  • liu_yujie2011com
  • 2014年03月23日 11:46
  • 4869

.NET实现Repeater控件+AspNetPager控件分页

.NET实现Repeater控件+AspNetPager控件分页 SqlConnection (.NET C#) 连接及分页  .net的访问数据机制决定了访问大量数据时会致使客户端机器消耗大...
  • kingmax54212008
  • kingmax54212008
  • 2013年03月07日 23:25
  • 3070

自定义扩展Repeater控件

repeater控件主要用于显示数据,因为具有良好的扩展性和自由性,被大量使用显示数据。 1、自定义控件的使用 本次主要讲诉继承现有的控件,非完全自定义的控件。该种控件的创建和使用分为3个步骤,第...
  • tuolingss
  • tuolingss
  • 2013年11月18日 17:50
  • 1569

repeater 控件实现排序

对于呈现数据库信息的页面表格,我们可以通过repeat、gridview、datalist这三者控件,三者各有优缺点: repeat控件:呈现速度最快、效率最高、功能最简单。 gridview控件...
  • jielizhao
  • jielizhao
  • 2015年01月07日 18:08
  • 715

利用Repeater控件实现数据分页显示

1@ Page Language="C#" %>   2@ Import Namespace="System.Data.SqlClient" %>   3@ Import Namespace="Sys...
  • ytbhhws
  • ytbhhws
  • 2013年11月04日 15:30
  • 666

Repeater排序的三种实现方式

Repeater控件是较为干净的服务端数据控件,它不像GridView已经包含了分页和排序功能,这两个小功能都要咱们自己去实现。由于分页的功能很容易实现,我也没什么好讲的;下文中我提供了三种排序方式,...
  • ful1021
  • ful1021
  • 2014年08月08日 13:57
  • 1499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Repeater控件显示主-从关系数据表
举报原因:
原因补充:

(最多只允许输入30个字)