搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

DreamwaverMX与ASP.NET三

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

()

相关文章:
© 2006   www.java-asp.net