当前位置: 主页 > 平面设计 > DreamwaverMX与ASP.NET三

DreamwaverMX与ASP.NET三

  • 2022-02-28
  • 来源/作者: 不详    / 佚名    
  • 6 次浏览

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控件来显示数据吧。