Adobe ColdFusion 8

QueryConvertForGrid

Description

Converts query data to a structure that contains a paged subset of the query. Used in CFC functions that return data to Ajax format cfgrid controls in response to a bind expression.

Returns

A structure that contains one page of data from the query.

Category

Query functions

Function syntax

QueryConvertForGrid(query, page, pageSize)

See also

cfgrid, "Dynamically filling form data" in the ColdFusion Developer's Guide

History

ColdFusion 8: Added this function.

Parameters

Parameter

Description

query

Name of the query whose data is returned.

page

The specific page of query data to be returned. Pages are numbered starting with 1.

pageSize

Number of rows of query data on a page.

Usage

You can also create the return value for a cfgrid bind CFC without using this function if your query returns only a single grid page of data at a time. For more information see "Using Ajax UI Components and Features" in the ColdFusion Developer's Guide.

Example

The following example shows how a CFC function that is called by an Ajax format cfgrid tag bind attribute. uses the QueryConvertForGrid function to prepare query data to return to the grid. The CFML page with the cfgrid tag has the following code:

<cfform>
    <cfgrid format="html" name="grid01" pagesize=5 sort=true
            bind="cfc:places.getData({cfgridpage},{cfgridpagesize},
                {cfgridsortcolumn},{cfgridsortdirection})" selectMode="row">
        <cfgridcolumn name="Emp_ID" display=true header="Employee ID"/>
        <cfgridcolumn name="FirstName" display=true header="Name"/>
        <cfgridcolumn name="Email" display=true header="Email"/> 
    </cfgrid>
</cfform>

The getData function in the places.cfc page has the following code:

<cffunction name="getData" access="remote" output="false">    
    <cfargument name="page">
    <cfargument name="pageSize">
    <cfargument name="gridsortcolumn">
    <cfargument name="gridstartdirection">
    <cfset query = "SELECT Emp_ID, FirstName, EMail
         FROM Employees" >
    <cfif gridsortcolumn neq "" or gridstartdirection neq "">
     <cfset query=query & " order by #gridsortcolumn#
            #gridstartdirection#">
    </cfif>
    <cfquery name="team" datasource="cfdocexamples">
         <cfoutput>#query#</cfoutput>
    </cfquery>
    <cfreturn QueryConvertForGrid(team, page, pageSize)>
</cffunction>