关于Repeater控件的使用

控件

关于Repeater控件的使用

Repeater控件是一个数据显示控件,该控件允许通过为列表中显示的每一项重复使用指定的模板来自定义布局。

要显示数据,必须先创建模板来绑定数据列表,模块定义如下(另见SDK):

模板
说明

AlternatingItemTemplate
与 ItemTemplate 元素类似,但在 Repeater 控件中隔行(交替项)呈现一次。通过设置 AlternatingItemTemplate 元素的样式属性,可以为其指定不同的外观。

FooterTemplate
在所有数据绑定行呈现之后呈现一次的元素。典型的用途是关闭在 HeaderTemplate 项中打开的元素(使用 </table> 这样的标记)。

注意 FooterTemplate 不能是数据绑定的。

HeaderTemplate
在所有数据绑定行呈现之前呈现一次的元素。典型的用途是开始一个容器元素(如表)。

注意 HeaderTemplate 项不能是数据绑定的。

ItemTemplate
为数据源中的每一行都呈现一次的元素。若要显示 ItemTemplate 中的数据,请声明一个或多个 Web 服务器控件并设置其数据绑定表达式以使其计算为 Repeater 控件(即容器控件)的 DataSource 中的字段。以下示例显示一个示例声明,它显示包含 Label 控件中的第一个名称的字段。

First Name:
<asp:Label runat="server"
Text="<%# Container.DataItem.FirstName %>" />

SeparatorTemplate
在各行之间呈现的元素,通常是分行符(<br> 标记)、水平线(<hr> 标记)等。

注意 SeparatorTemplate 项不能是数据绑定的。

注:该控件是不能通过可视化编辑模板的,而DataList的DataGrid控件就可以。

下面说一下程序的创建过程:

1、 创建一个WEB应用程序,将默认的WEB窗体改名为:Repeater.aspx。

2、 切换到“HTML”视图,输入下列代码:

<%@ Page language="c#" Codebehind="Repeater.aspx.cs" AutoEventWireup="false" Inherits="TeachShow.Charpter7.Repeater" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

<HEAD>

<title>Repeater</title>

<LINK rel="stylesheet" type="text/css" href="../Style.css">

<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

<meta name="CODE_LANGUAGE" Content="C#">

<meta name="vs_defaultClientScript" content="JavaScript">

<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

</HEAD>

<body MS_POSITIONING="GridLayout">

<form id="Form1" method="post" runat="server">

<div align="center">

<center>

<table border="0" cellpadding="0" cellspacing="0" width="272" height="136">

<tr>

<td width="272" height="136">

<div align="center">

<center>

<table border="1" cellpadding="0" cellspacing="0" width="272" height="60" bordercolorlight="#000000"

bordercolordark="#ffffff" class="smallRed">

<asp:Repeater id="Repeater1" runat="server">

<HeaderTemplate>

<tr>

<td width="90" height="30"><FONT face="宋体">数字</FONT></td>

<td width="91" height="30"><FONT face="宋体">平方</FONT></td>

<td width="91" height="30"><FONT face="宋体">立方</FONT></td>

</tr>

</HeaderTemplate>

<ItemTemplate>

<tr>

<td width="90" height="30"><%# DataBinder.Eval(Container.DataItem,"数字") %></td>

<td width="91" height="30"><%# DataBinder.Eval(Container.DataItem,"平方") %></td>

<td width="91" height="30"><%# DataBinder.Eval(Container.DataItem,"立方") %></td>

</tr>

</ItemTemplate>

</asp:Repeater>

</table>

</center>

</div>

</td>

</tr>

</table>

</center>

</div>

</form>

</body>

</HTML>

解释一下程序中用到的方法:

DataBinder.Eval()方法:该方法用于在运行时计算数据绑定表达式,并且根据浏览器的需要来格式化输出结果。该方法有三个参数:

A、 数据项的命名容器:命名容器是一个对象引用,该对象即是计算表达式所针对的对象。如果绑定是针对列表控件(如Repeater、DataList或DataGrid)的,则命名容器将始终是Container.DataItem。如果绑定是针对页面的,则命名容器是Page。

B、 数据字段名:绑定表格的列名(此例如“平方”等)。

C、 格式字符串

如果要求高性能,不建议使用DataBinder.Eval()方法

3、 打开Repeater.aspx.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;

namespace TeachShow.Charpter7

{

/// <summary>

/// Repeater 的摘要说明。

/// </summary>

public class Repeater : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Repeater Repeater1;

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if(!this.IsPostBack)

{

DataTable mydt=new DataTable();

DataRow mydr;

mydt.Columns.Add(new DataColumn("数字",typeof(Int32)));

mydt.Columns.Add(new DataColumn("平方",typeof(Int32)));

mydt.Columns.Add(new DataColumn("立方",typeof(Int32)));

for(int i=0;i<=10;i++)

{

mydr=mydt.NewRow();

mydr[0]=i;

mydr[1]=i*i;

mydr[2]=i*i*i;

mydt.Rows.Add(mydr);

}

this.Repeater1.DataSource=mydt;

this.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.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler(this.Repeater1_ItemCommand);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void Repeater1_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)

{

}

}

}

4、 最后浏览,看看有什么结果?见下表:

数字
平方
立方

0
0
0

1
1
1

2
4
8

3
9
27

4
16
64

5
25
125

6
36
216

7
49
343

8
64
512

9
81
729

10
100
1000

时间: 2024-10-01 21:16:18

关于Repeater控件的使用的相关文章

使用嵌套的Repeater控件显示分级数据

控件|数据|显示     简介       本文描述如何使用嵌套的Repeater 控件来显示分级数据 .当然了,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合.       绑定到父表       1.添加一个新的Web Form 到应用程序项目中,名称为Nestedrepeater.ASPx.    2.从工具箱托动一个Repeater 控件到这个页面上, 设定其ID 属性为 parent .    3

使用嵌套的Repeater控件

控件 这个程序适用于:•Microsoft ASP.NET •Microsoft VS.NET 正式版 简介本文描述如何使用嵌套的Repeater 控件来显示分级数据 .当然了,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合. 绑定到父表 1.添加一个新的Web Form 到应用程序项目中,名称为Nestedrepeater.aspx. 2.从工具箱托动一个Repeater 控件到这个页面上, 设定其ID

向 Web 窗体页添加 Repeater 控件

web|控件   向页添加 Repeater Web 服务器控件需要若干步骤.下列过程描述创建一个工作的 Repeater 控件必须执行的最少步骤. 向 Web 窗体页添加 Repeater Web 服务器控件 向 Web 窗体页添加一个数据源.有多种方法可处理页上的数据.若要选择适当的方法,请参见 ADO.NET 数据访问介绍和对 Web 窗体页中数据访问的介绍. 在"设计"视图中,从"工具箱"的"Web 窗体"选项卡将 Repeater 控件

ASP.NET用Repeater控件显示数据

asp.net|控件|数据|显示     如果你正在使用ASP.NET,你一定对DataGrid控件非常熟悉.DataGrid控件提供了各种特性,通过这些特性可以很容易地在一个Web页面上以列表形式显示数据.但是,如果你不想使用HTML表格形式呢?此时,可以使用一个DataGrid的一个鲜为人知的兄弟控件,即Repeater控件.Repeater控件提供显示你所需要数据的灵活性.      Repeater控件是什么?      Repeater是一个可重复操作的控件,也就是说,它通过使用模板显

使用PagedDataSource类实现DataList和Repeater控件的分页显示

分页|控件|显示     Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,所以很多时候我们喜欢使用DataList或Repeater控件来显示数据.  实现DataList或Repeater控件的分页显示有几种方法:  1.写一个方法或存储过程,根据传入的页数返回需要显示的数据表(DataTable)  2.使用Pa

ASP.NET:Repeater控件的详解

asp.net|控件|详解     在学习DataGrid控件和DataList控件后,我们知道,DataGrid控件对数据输出格式是自动生成HtmlTable标记的,DataList控件也是这样,它根据数据内容来生成数据控制表格.而Repeater 控件是模板化的数据绑定列表,Repeater 控件是"无外观的",即:它不具有任何内置布局或样式,也就不会产生任何数据控制表格来控制数据的显示.因此,我们必须在控件的模板中明确声明所有 HTML 布局标记.格式标记和样式标记. 在第一节里

在Repeater控件中创建可隐藏区域

创建|控件 在WEB应用中,如何才能使应用高效率呢?如何才能吸引用户呢?这的确是个大学问,页面的内容,色搭配等都十分重要.但不可忽视的是,多数情况下,对于数据的呈现方式也是十分重要的.由于web应用的规模不断增大,数据也越来越多了,有时候,由于在一个页面同时显示的数据太多,从而造成页面的不美观,用户因此也会感到厌倦和操作困难.因此,本文将介绍利用repeater控件的隐藏区域,以达到较好的数据显示效果. 防止数据过多加载有很多方法,比如采用数据分页的方法,又或者采用master/detail的方

Repeater控件分页的例子

分页|控件   Repeater和DataList控件提供了一个快速.灵活的表现数据的方式,但是,它们没有内建的分页功能:DataGrid控件提供了内建的分页功能,但它的结构比较复杂.下面就用PagedDataSource类实现Repeater和DataList的分页. PagedDataSource封装了DataGrid的分页属性,我们可以象DataGrid那样进行分页.代码如下:   <%@ Page Language="C#" %> <%@ import nam

用Repeater控件显示数据

控件|数据|显示     如果你正在使用ASP.NET,你一定对DataGrid控件非常熟悉.DataGrid控件提供了各种特性,通过这些特性可以很容易地在一个Web页面上以列表形式显示数据.但是,如果你不想使用HTML表格形式呢?此时,可以使用一个DataGrid的一个鲜为人知的兄弟控件,即Repeater控件.Repeater控件提供显示你所需要数据的灵活性. Repeater控件是什么? Repeater是一个可重复操作的控件,也就是说,它通过使用模板显示一个数据源的内容,而你可以很容易地