目录
北极星书库
当查询返回的记录数较少时,用简单的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,或其他更简洁的列表。用这种列表可以快速浏览记录集,但显示的信息量有限。解决这一问题的方法是以简洁的方式显示记录,然后为每个记录创建一个超链接,链接到另一个提供详细信息的网页。
建立到记录细节的链接
建立到记录细节的链接包括如下步骤,假设已经有一个文件显示了记录摘要列表。
- 从记录摘要中选择一个关键词作为可点击的链接,如公司名。
- 将所选的关键词扩在超链接标签(<A>)中,链接到一个显示细节信息的文件。在URL中应传递一个唯一的记录标识,这样被链接的文件才知道要显示的是哪一条记录。
- 建立一个用于显示记录细节的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属性要写在同一行中。
前页
目录
北极星书库