cfdocs.org /

Description

Builds a table in a ColdFusion page. This tag renders data as preformatted text, or, with the HTMLTable attribute, in an HTML table. If you don't want to write HTML table tag code, or if your data can be presented as preformatted text, use this tag.

Preformatted text (defined in HTML with the <pre> and </pre> tags) displays text in a fixed-width font. It displays white space and line breaks exactly as they are written within the pre tags. For more information, see an HTML reference guide.

To define table column and row characteristics, use the cfcol tag within this tag.

Category

Data output tags

Syntax

<cftable  
    query = "query name" 
    border 
    colHeaders 
    colSpacing = "number of spaces" 
    headerLines = "number of lines" 
    HTMLTable 
    maxRows = "maxrows table" 
    startRow = "row number"> 
    ... 
</cftable>
Note: You can specify this tag’s attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag’s attribute names as structure keys.

See also

cfcol, cfcontent, cflog, cfoutput, cfprocessingdirective; Retrieving data in the Developing ColdFusion Applications

Attributes

Attribute

Req/Opt

Default

Description

query

Required

Name of cfquery from which to draw data.

border

Optional

Displays a border around the table.

If you use this attribute (regardless of its value), ColdFusion displays a border around the table.

Use this only if you use the HTMLTable attribute.

colHeaders

Optional

Displays column heads. If you use this attribute, also use the cfcol tag header attribute to define them.

If you use this attribute (regardless of its value), ColdFusion displays column heads.

colSpacing

Optional

2

Number of spaces between columns.

headerLines

Optional

2

Number of lines to use for table header (the default leaves one line between header and first row of table).

HTMLTable

Optional

Renders data in an HTML 3.0 table.

If you use this attribute (regardless of its value), ColdFusion renders data in an HTML table.

maxRows

Optional

Maximum number of rows to display in the table.

startRow

Optional

1

The query result row to put in the first table row.

Usage

This tag aligns table data, sets column widths, and defines column heads.

At least one cfcol tag is required within this tag. Put cfcol and cftable tags adjacent in a page. The only tag that you can nest within this tag is the cfcol tag. You cannot nest cftable tags.

To display the cfcolheader text, specify the cfcolheader and the cftablecolHeader attribute. If you specify either attribute without the other, the header does not display and no error is thrown.

Example

<!--- This example shows the use of cfcol and cftable to align information  
    returned from a query. ---> 
<!--- This query selects employee information from cfdocexamples datasource. ---> 
<cfquery name = "GetEmployees" dataSource = "cfdocexamples"> 
    SELECT Emp_ID, FirstName, LastName, EMail, Phone, Department 
    FROM Employees 
</cfquery> 
 
<html> 
<body> 
<h3>cftable Example</h3> 
 
<!--- Note use of HTMLTable attribute to display cftable as an HTML table,  
    rather than as PRE formatted information. ---> 
<cftable query = "GetEmployees"  
    startRow = "1" colSpacing = "3" HTMLTable> 
<!--- Each cfcol tag sets width of a column in table, and specifies header 
    information and text/CFML with which to fill cell. ---> 
    <cfcol header = "<b>ID</b>" 
        align = "Left" 
        width = 2 
        text= "#Emp_ID#"> 
         
    <cfcol header = "<b>Name/Email</b>"     
        align = "Left" 
        width = 15 
        text= "<a href = 'mailto:#Email#'>#FirstName# #LastName#</A>"> 
 
    <cfcol header = "<b>Phone Number</b>" 
        align = "Center" 
        width = 15 
        text= "#Phone#"> 
</cftable> 
</body> 
</html>