Repeater的使用方法详解

大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用repeater作为我们的数据绑定控件了。Repeater控件与DataGrid (以及DataList)控件的主要区别是在于如何处理HTML。ASP.NET建立HTML代码以显示DataGrid控件,但Repeater允许开发人员决定如何显示数据。所以,你可以选择将数据显示在一个HTML表格中或者一个顺序列表中。这主要取决于你的选择,但你必须将正确的HTML插入到 ASP.NET页面中。
模板与DataList一样,Repeater控件只支持模板。以下的模板可供选择:
AlternatingItemTemplate: 指定如何显示每一其它选项。
ItemTemplate: 指定如何显示选项。(AlternatingItemTemplate可以覆盖这一模板。)
HeaderTemplate: 建立如何显示标题。
FooterTemplate: 建立如何显示页脚。
SeparatorTemplate: 指定如何显示不同选项之间的分隔符。
你可以使用这些模板来显示你希望的数据。唯一具有强制性的模板是ItemTemplate,所有其它的模板都是具有选择性的。
对于处理一个数据源,Repeater控件具有与DataGrid与DataList相同的属性:

DataMember:获得或者设置与 Repeater 控件绑定的相应DataSource属性的表格。

DataSource:获得或者设置为 Repeater 显示提供数据的数据源。

除此之外,还有一个Items属性,你可以通过这一属性编程访问Repeater数据中单一选项。它返回一个RepeaterItemCollection对象,为一组RepeaterItem对象的集合,代表 Repeater 数据的每一行。

ASP.NET Web数据控件还有其它一个共性:它们都使用DataBind方法来生成用户界面。调用这一方法可以返回并显示数据(假设DataSource和 DataMember属性设置正确)。在查看DataBind方法之前,我们先看看如何在一个Web页面中使用一个Repeater控件。
使用Repeater控件
使用Repeater控件的第一步骤是决定我们将要使用的数据源和字段。例如,我们将要使用SQL Server Northwind数据库中的Employees列表。Web页面将显示职工的完整名字,地址,以及电话号码。HTML将使用DIV标记,用 Repeater 模板来分隔内容。

Repeater用法:

使用Repeater可以绘制表头、表内、表尾比较复杂的表格,如以下实例:

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

<HeaderTemplate>

<!—表格开始位置-à

<table cellpadding='0' cellspacing='0' bordercolor="#3399FF" border="1" >

<tr align=center style="height:20px;">

<td width="4%"align="center" rowspan="3">序号</td>

<td width="6%"align="center" rowspan="3">医疗证号</td>

<td width="5%"align="center" rowspan="3">患者姓名</td>

<td width="4%" align="center" rowspan="3">性别</td>

<td width="4%" align="center" rowspan="3">年龄</td>

<td width="8%" align="center" rowspan="3">住址</td>

<td width="8%"align="center" rowspan="3">出院时间</td>

<td width="8%" align="center" rowspan="3">住院诊断</td>

<td width="8%" align="center" rowspan="3">诊疗机构</td>

<td width="4%" align="center" rowspan="3">住院天数</td>

<td width="6%" align="center" rowspan="3">上报时间</td>

<td width="16%" colspan="6">住院总费用(元)</td>

<td width="5%" rowspan="3">报销费用</td>

</tr>

<tr align=center style="height:20px;" >

<td width="6%" rowspan="2">合计</td>

<td width="15%" colspan="5">其中:</td>

</tr>

<tr align=center style="height:20px;" >

<td width="5%">药品费</td>

<td width="5%">检查费</td>

<td width="5%">治疗费</td>

<td width="5%">手术费</td>

<td width="5%">其它</td>

</tr>

</HeaderTemplate>

<ItemTemplate>

<tr align="center">

<td align="center">

<%#Container.ItemIndex + 1 %>

</td>

<td>

<%# DataBinder.eval_r(Container.DataItem,"medical_card") %>

</td>

 .

</tr>

</ItemTemplate>

<FooterTemplate>

</table>

<!—表格结束位置-à

</FooterTemplate>

</asp:Repeater>


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页