好的,所以我在过去的几天里在包括这个网站在内的各种网站上研究了这个问题,但我仍然没有接近答案。我看到有人声称这是一个错误,并在 Adobe 的某个 CF11 补丁中得到了修复,我什至看到一个答案声称 Adobe 正在将修复程序直接通过电子邮件发送给个人——尽管没有关于如何获取 Adobe 的信息该网页上提供了这样做。
我们刚刚将 Intranet 更新为 Coldfusion 11,并且具有使用 HTML 格式的 cfgrid 并从 cfc 绑定数据的页面不再在页面上显示 cfgrid。其他将 Flash 格式与 cfgrid 一起使用的页面(显然不能将 bind 属性与 Flash 一起使用)确实可以工作。在我们迁移到 11 之前,这些 HTML cfgrid 页面在 Coldfusion 9 中可以正常工作。
我已经尽可能地简化了代码以消除其他错误的可能性——即我已经去掉了格式并且只从数据库中提取了几列。这是我目前在开发沙箱中处理的代码:
<cfgrid format="html"
name="userGrid"
bind="cfc:editorFunc.getGridData({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})"
pagesize="20">
<cfgridcolumn name="REGION" header="Region">
<cfgridcolumn name="managmentArea" header="Management Area">
</cfgrid>
这是 cfc 中的代码(查询在转储到页面时会产生结果):
<cffunction name="getGridData" access="remote">
<cfargument name="page">
<cfargument name="pageSize">
<cfargument name="gridsortcolumn">
<cfargument name="gridsortdir">
<cfquery name="records" datasource="webData">
SELECT REGION, managmentArea
FROM areaDesc
ORDER BY Region ASC
</cfquery>
<cfset result = queryConvertForGrid(duplicate(records), arguments.page, arguments.pagesize)>
<cfreturn result>
</cffunction>
有没有人有幸让这样的 cfgrid 在 CF11 中工作?我可以尝试 JGrid 之类的 JQuery 解决方案,但是如果可能的话,我更愿意找出此代码存在的问题。
任何帮助深表感谢。