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.
A structure that contains one page of data from the query.
QueryConvertForGrid(query
,page
,pageSize
)
cfgrid, "Dynamically filling form data" in the ColdFusion Developer's Guide
ColdFusion 8: Added this function.
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. |
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.
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>