初めて投稿させていただきます。
CF8で正常に動作していたグリッドが、CF9で表示できなくなりました。
もともと、access="remote"のメソッドは、下位コンポーネントから明示的に呼び出す必要があった?のですが、CF9では全く動作しなくなってしまいました。
コンポーネント仕様の変更か、はたまた単なるバグか、困ってます。
CF9の新機能には大いに期待しているので、CF8との互換性が懸念されるのは残念です。
<cfform>
<cfgrid autowidth="true" name="testgrid" format="html"
bind="cfc:sample.cfc.getData({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})" width="300" pagesize="10">
<cfgridcolumn name="ID" header="ID">
<cfgridcolumn name="NAME" header="NAME">
</cfgrid>
</cfform>
------------------- gridRetriever.cfc --------------
<cfcomponent>
<cfset datasource="">
<cffunction name="makeQueryString">
<cfreturn "">
</cffunction>
<cffunction name="executeQuery" access="private">
<cfargument name="gridsortcolumn">
<cfargument name="gridsortdirection">
<cfset var sql=makeQueryString()>
<cfif gridsortcolumn neq "" or gridsortdirection neq "">
<cfset sql=sql&" ORDER BY #gridsortcolumn# #gridsortdirection#">
</cfif>
<cfquery name="dd" datasource="#dataSource#" cachedwithin="#CreateTimeSpan(0, 0, 0, 1)#">
#preserveSingleQuotes(sql)#
</cfquery>
<cfreturn dd>
</cffunction>
<cffunction name="getData" access="remote">
<cfargument name="page">
<cfargument name="pageSize">
<cfargument name="gridsortcolumn">
<cfargument name="gridsortdirection">
<cfset var qq=executeQuery(gridsortcolumn,gridsortdirection)>
<cfreturn QueryConvertForGrid(qq,page,pageSize)>
</cffunction>
</cfcomponent>
------------------- sample.cfc --------------
<cfcomponent extends="gridRetriever">
<cfset datasource="ds">
<cffunction name="makeQueryString">
<cfreturn "SELECT ID,NAME FROM USER">
</cffunction>
<!--- Have to redefine method! --->
<cffunction name="getData" access="remote" output="false">
<cfargument name="page">
<cfargument name="pageSize">
<cfargument name="gridsortcolumn">
<cfargument name="gridsortdirection">
<cfreturn super.getData(page,pageSize,gridsortcolumn,gridsortdirection)>
</cffunction>
</cfcomponent>