万卷书>>电脑书籍>>网页制作>>网页制作软件使用>>ColdFusion 初级教程

WANJUANSHU.COM

在表格中显示查询结果

 

当查询返回的记录数较少时,用简单的HTML文本显示就够了。但当记录很多时,你需要更有条理的显示。CFOUTPUT标签可以包含HTML代码,因此你可以使用标准的HTML表格标签,动态地生成表格。


 

CFML 表格


 

CFML提供了两个表格标签,CFTABLE和CFCOL,用来以表格的形式显示查询结果。这种格式使用HTML的<PRE>标签精确地控制显示内容的宽度和对齐方式。如下例所示:


 

<CFTABLE QUERY="Messages" MAXROWS=10>


 

<CFCOL HEADER="Subject" WIDTH=25


 

TEXT="<I>#Subject#</I>">


 

<CFCOL HEADER="User Name" WIDTH=15


 

TEXT="#UserName#">


 

<CFCOL HEADER="Date" WIDTH=15


 

ALIGN=RIGHT


 

TEXT="#DateFormat(DateSubmitted)#">


 

</CFTABLE>


 

这段程序建立了一个三列的表格,通过CFCOL标签的HEADER属性为三个列分别指定了标题“Subject”,“User Name”,和“Date”。该表格的数据来自名为Messages的查询,最多显示10条记录。显示的内容由TEXT属性所给的HTML标签和动态参数决定。


 

CFCOL中的双引号和井号


 

ColdFusion在CFCOL的TEXT属性中用双引号和井号作为分隔符。因此当用到这两个符号本身时,要用两个连续的双引号来代替双引号,用两个连续的井号来代替井号。


 

例如,要显示一个文档列表,为每个文档提供一个超链接,你必须在TEXT属性中使用超链接标签(该标签的HREF属性要用双引号作为分界符)。因此必须使用如下语法:


 

TEXT="<A HREF=""/documents/#DocFile#"">#DocName#</A>"


 

HTML表格


 

虽然CFTABLE标签产生的预定义格式表格是有效的,但HTML表格具有更大的灵活性。为了使这种转换更容易,CFTABLE提供了另一个属性HTMLTABLE。这个属性将CFTABLE提供为一个HTML表格,而不是预定义格式的表格。使用HTMLTABLE属性会使CFTABLE和CFCOL的某些属性具有另外的含义:


 

·CFTABLE的HEADLINES属性和COLSPACING属性将被忽略。


 

·CFCOL的WIDTH属性被解释为占可用屏幕宽度的百分比,而不是字符数。


 

注意:使用HTML表格不是一定要通过CFTABLE的HTMLTABLE属性,你可以用CFOUTPUT直接建立HTML表格。


 

记录细节的动态显示


 

显示查询结果的最常用的方法是用表格,如CFTABLE,或其他更简洁的列表。用这种列表可以快速浏览记录集,但显示的信息量有限。解决这一问题的方法是以简洁的方式显示记录,然后为每个记录创建一个超链接,链接到另一个提供详细信息的网页。


 

建立到记录细节的链接


 

建立到记录细节的链接包括如下步骤,假设已经有一个文件显示了记录摘要列表。


 

  1. 从记录摘要中选择一个关键词作为可点击的链接,如公司名。
  2. 将所选的关键词扩在超链接标签(<A>)中,链接到一个显示细节信息的文件。在URL中应传递一个唯一的记录标识,这样被链接的文件才知道要显示的是哪一条记录。
  3. 建立一个用于显示记录细节的CFM文件。


 

例子:记录细节信息


 

假设你要显示一个公司列表,让用户点击一个公司名来获得关于该公司的详细信息。再假设在数据库中每个公司用一个唯一的Company_ID来标识,而文件compinfo.cfm可以显示给定Company_ID的公司的详细信息。在这种情况下,使用如下的语法:


 

<CFOUTPUT Query="CompanySearch">


 

<A HREF="compinfo.cfm?Company_ID=#Company_ID#">


 

#CompName#</A><BR>


 

#ContactPerson# (#ContactPhone#) <BR>


 

</CFOUTPUT>


 

公司名显示为一个超链接,它将Company_ID作为一个URL参数,激活文件compinfo.cfm。由该文件显示相应公司的详细信息。使用这种技术,实现记录细节的动态显示的通用形式如下(注意HREF属性应处在单独的一行中):


 

<A HREF="TemplateFile?Record_ID=#Record_ID_Data#"># RecordName#</A>


 

这里TemplateFile是实现记录细节显示的文件。该文件用Record_ID_Data(通过URL参数Record_ID传递)确定要显示哪一条记录。用户点击RecordName来激活该文件。


 

在CFTABLE中嵌人细节链接


 

你也可以在CFCOL标签的TEXT属性中嵌人超链接。由于TEXT属性用双引号作为分界符,超链接的HREF属性也用双引号作为分界符,要注意引号的正确使用。下面是这种技巧的通用形式:


 

<A HREF="" TemplateFile? Record_ID=# Record_ID_Data#"">#RecordName#</A>


 

注意在HREF属性中用两个连续的双引号表示一个双引号。如果上一个例子改为使用TEXT属性在表格中嵌人超链接,其语法应为:


 

TEXT="<A HREF=""compinfo.cfm?Company_ID=#Company_ID#"">#CompName#</A>"


 

再次强调,整个TEXT属性要写在同一行中。

 
上一页 WanJuanShu.COM 下一页
WANJUANSHU.COM 万卷书