您现在的位置: 军旅同心 >> 读书赏析 >> 学习园地 >> 电脑网络 >> 技术文章 >> 文章正文
DreamwaverMX与ASP.NET(三)
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005-9-10 14:23:09

3.利用Repeater组件显示数据集

相关介绍

ASP.NET中数据的显示多种多样,其中Repeater是另外一个已有的组件。DataGrid总是会以”表格”来展示数据,当我们想用更自由的方式来展示数据着一定会用到Repeater控件,

它以Template(样板)的方式来定义数据输出格式。

STEP 1. 建立页面
我们可以通过更改原有的页面来建立用Repeater组件显示数据。将Location1.htm重命名为Location1.aspx。删除页面中原有的部分,并像上一章一样建立Dataset,其中筛选Region_IDEnterValue=1。下面让我们用Repeater控件来做动态页面。

j为了利用样板定义输出格式,先建立表格。我们可以通过ApplicationàDatabases页面看

数据库的结构。



[图3-1 数据库结构]

根据数据库的结构,设计下列的表格。



[图3-2 模版图]

k下面需要将数据绑定到表格中。将Application面板中Bindings中的数据项拖到其位置中。



[图3-3 Binding对话框]

数据绑定后得到如下页面:



[图3-4数据绑定后的页面]

是否有点似曾相识的感觉,因为Dreamwaver MX继承了UltraDev的传统以高亮显示数据。 ③ 其中Binding对话框中也可以选择数据表示的形式,点选页面的数据项后可在Binding中相应的数据选择数据表示的形式。



[图3-5 数据表示的形式]

若要以此表格为样板显示所有数据项,则需全选此表格。单击Application面板中的Server Behaviors项中的”+”,选择Repeat Region项



[图3-6选择Repeat Region] [图 3-7 选择重复的方式]

在Repeat Region中确定想重复的方式,单击OK。现在就可以按”F12”预览页面了。

STEP 2 分析代码(注意:为了能显示代码,以下所有代码都在“<”之后和“>”之前加了空格,不便之处请多原谅!)

< ASP:Repeater runat="server" DataSource='< %# DataSet1.DefaultView % >' >

< ItemTemplate >

< table width="75%" border="0" >

< tr >

< td width="18%" >Location Name< /td >

< td colspan="3" > < %# DataSet1.FieldValue("LOCATION_NAME", Container) % > < /td >

< /tr >

< tr >

< td >City< /td >

< td width="35%" > < %# DataSet1.FieldValue("CITY", Container) % > < /td >

< td width="19%" >Address< /td >

< td width="28%" > < %# DataSet1.FieldValue("ADDRESS", Container) % > < /td >

< /tr >

< tr >

< td >State< /td >

< td > < %# DataSet1.FieldValue("STATE_COUNTRY", Container) % > < /td >

< td >Code< /td >

< td > < %# DataSet1.FieldValue("CODE", Container) % > < /td >

< /tr >

< tr >

< td >Telephone< /td >

< td > < %# DataSet1.FieldValue("TELEPHONE", Container) % > < /td >

< td >Fax< /td >

< td > < %# DataSet1.FieldValue("FAX", Container) % > < /td >

< /tr >

< /table >

< /ItemTemplate >

< /ASP:Repeater >

ASP.net是通过建立一个ItemTemple的模板来重复显示所有数据的,所以若要设置Repeater的样式,可以通过设置模板来实现。

我们还可以通过添加其他样板来达到我们要的效果。

AlternatingItemTemplate : 实现交叉显示数据。与原ItemTemplate的模板交叉显示数 据

SepartorTemplate: 分隔符样板。可用于分隔数据行。

HeaderTemplate: 标题样板。显示与所有数据的最上方。

FooterTemplate: 结尾样板。显示与所有数据的最下方。

其设计形式同ItemTemplate一样。只需将你想要做模板的部分用标记符包围即可。

通过Dreamwaver MX来插入代码可以有快捷方式。点击Insert面板的ASP.NET标签,然后点击标志,就会弹出标记符添加对话框。选择ASP.NET Tags中的Templates项目。你就可以从中选择你想要添加的代码。Dreamwaver MX会在你原来输入光标在的位置上添加代码。



[图 2-1 添加标记符对话框]
下面是AlternatingItemTemplate,SepartorTemplate,HeaderTemplate,FooterTemplate的代码,可将其插入到< ASP:Repeater >< /ASP:Repeater >中。

< headertemplate >< font color="#666666" size="4" >All

Location< /font >< /headertemplate >

< AlternatingItemTemplate >

< table width="75%" border="0" bgcolor="#CCCCCC" >

< tr >

< td width="17%" >Location Name< /td >

< td colspan="3" bgcolor="#CCCCCC" >

< %# DataSet1.FieldValue("LOCATION_NAME", Container) % >

< /td >

< /tr >

< tr >

< td >City< /td >

< td width="34%" > < %# DataSet1.FieldValue("CITY", Container) % > < /td >

< td width="24%" >Address< /td >

< td width="25%" > < %# DataSet1.FieldValue("ADDRESS", Container) % > < /td >

< /tr >

< tr >

< td >State< /td >

< td > < %# DataSet1.FieldValue("STATE_COUNTRY", Container) % > < /td >

< td >Code< /td >

< td > < %# DataSet1.FieldValue("CODE", Container) % > < /td >

< /tr >

< tr >

< td >Telephone< /td >

< td > < %# DataSet1.FieldValue("TELEPHONE", Container) % > < /td >

< td >Fax< /td >

< td > < %# DataSet1.FieldValue("FAX", Container) % > < /td >

< /tr >

< /table >

< /AlternatingItemTemplate >

< separatortemplate >< hr width="70%" align="left" >

< /separatortemplate >

< footertemplate >< font color="#666666" size="4" >End< /font >< /footertemplate >

当IIS解析代码时就会根据关键字将模板放入相对的位置,取得原来所要求的页面。

以上程序所生成的页面如下:



[图2-1 最终页面]

Repeater组件可以建立更自由的页面,但是其每一行只可以显示一组数据。想不想建立更加自由的页面,那就让我们进入下一节用DataList控件来显示数据吧。


 
免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
文章录入:烟灰缸    责任编辑:烟灰缸 
  • 上一篇文章:
  • 下一篇文章:
  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 |