Adobe ColdFusion 8

QueryConvertForGrid

説明

クエリーデータを変換して、そのクエリーのサブセット (1 ページ分のデータ) を含む構造体を返します。 バインド式に対するレスポンスとして Ajax 形式の cfgrid コントロールにデータを返す CFC 関数で使用します。

戻り値

1 ページ分のクエリーデータを含む構造体

カテゴリ

クエリー関数

関数のシンタックス

QueryConvertForGrid(query, page, pageSize)

参照項目

<c code>cfgrid、『ColdFusion 開発ガイド』の "フォームデータのダイナミックな設定"

履歴

ColdFusion 8: この関数が追加されました。

パラメータ

パラメータ

説明

query

クエリーの名前です。このクエリーのデータが返されます。

page

クエリーデータを返すページの番号です。 ページ番号は 1 から始まります。

pageSize

1 ページあたりに含まれるクエリーデータの行数です。

使用方法

クエリーが一度に 1 ページ分のグリッドデータのみ返す場合、cfgrid のバインド CFC の戻り値は、この関数を使用しなくても作成できます。 詳細については、『ColdFusion 開発ガイド』の "Ajax UI コンポーネントおよび機能の使用"を参照してください。

次の例は、Ajax 形式の cfgrid タグの bind 属性が CFC 関数をどのように呼び出すかを示します。グリッドに返すクエリーデータを準備するために QueryConvertForGrid を使用しています。cfgrid タグを含む CFML ページには次のコードがあります。

<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>

places.cfc ページ内の getData 関数には次のコードがあります。

<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>