2017-09-14 37 views
0

这对许多版本之前工作正常。在更新到ColdFusion 2016之后,​​在尝试将活动状态从2更新为3时,会产生错误。问题与ColdFusion 2016 CFGrid更新功能

用户更新单元格并命中输入,然后刷新网格并看到它们的更改没有存储。来自AJAX记录器的cfdebug错误是cfgridchanged is undefined。有关如何在ColdFusion 2016中实现这个工作的任何建议?

<cfgrid name="modify_pids" 
    height=525 
    autowidth="yes" 
    width=1040 
    vspace=10 
    selectmode="edit" 
    insert="No" 
    delete="No"   
    format="html" 
    selectonload = "no" 
    striperows = "yes" 
    selectcolor="CDE6F3" 
    preservePageOnSort="Yes" 
    pagesize=100 
    sort=true 
    onChange="cfc:functions_pids.updatePID({cfgridaction},{cfgridrow},      {cfgridchanged}, '#getcurruser.uid#')" 
    bind="cfc:functions_pids.getPIDS({cfgridpage},{cfgridpagesize}, {cfgridsortcolumn},{cfgridsortdirection}, '#mygridsortcolumn#', searchPID(),  searchDESC(), searchSTAT(), searchMOQ(), searchCOST(), searchUNIT(),  searchMODBY(), searchMODDATE())"> 

<cfgridcolumn name="PID_ID" 
     header="PID" 
     width=40 
     headeralign="center" 
     headerbold="Yes" 
     select="No"> 

    <cfgridcolumn name="Description" 
     header="Description" 
     width=150 
     headeralign="center" 
     headerbold="Yes" 
     select="Yes"> 

    <cfgridcolumn name="Active_Status" 
     header="Status<br>Active=1,3<br>Inactive=2" 
     width=35 
     headeralign="center" 
     headerbold="Yes" 
     select="Yes" 
     display="yes"> 

    <cfgridcolumn name="MOQ" 
     header="MOQ" 
     width=20 
     headeralign="center" 
     headerbold="Yes" 
     select="Yes"> 

    <cfgridcolumn name="COST" 
     header="Cost" 
     width=40 
     headeralign="center" 
     headerbold="Yes" 
     select="Yes"> 

    <cfgridcolumn name="UNIT" 
     header="Unit" 
     width=40 
     headeralign="center" 
     headerbold="Yes" 
     select="Yes"> 

    <cfgridcolumn name="Modify" 
     header="Modified By" 
     width=50 
     headeralign="center" 
     headerbold="No" 
     select="No"> 

    <cfgridcolumn name="Modify_Date" 
     header="Modified Date" 
     width=60 
     headeralign="center" 
     headerbold="Yes" 
     select="No" 
     type="date"> 

    <cfgridcolumn name="PID_USED" 
     header="Inventory<br>Instances" 
     width=50 
     headeralign="center" 
     headerbold="No" 
     select="No">  

    <cfgridcolumn name="Inventory_Sum" 
     header="Inventory<br>Total" 
     width=50 
     headeralign="center" 
     headerbold="No" 
     select="No">  
    </cfgrid> 

从functions_pids.cfc

<cffunction name="updatePID" access="remote" output="false"> 

    <cfargument name="cfgridaction"> 
    <cfargument name="cfgridrow"> 
    <cfargument name="cfgridchanged">   
    <cfargument name="getcurruser"> <!--- pass in modified by user id ---> 
    <cfargument name="PID_ID" required="no" type="string" default="" > 

    <cfset strctKey=StructKeyArray(cfgridchanged) /> 
    <cfset strctVal=StructFindKey(cfgridchanged, strctKey[1]) /> 
    <cfset strctVal=strctVal[1] /> 


<cfif cfgridaction is "D"> 

<cfelseif cfgridaction is "U"> 

    <cfquery name="update" datasource="#request.dbname#" username="#request.dbuser#" password="#request.dbpw#"> 
     UPDATE PIDS 
     SET #strctKey[1]# = '#strctVal.value#', 
     Modify = '#getcurruser#', 
     Modify_Date = '#dateformat(CreateODBCDateTime(Now()), "mm/dd/yyyy")#' 
     WHERE PID_ID = '#cfgridrow.PID_ID#' 
    </cfquery> 

    <cfelseif cfgridaction is "I"> 

    </cfif> 
    <cfreturn /> 
</cffunction> 
+0

没有你所申请到更新时,这打破了?我知道Adobe几天前刚刚发布了另一个更新。该更新包含对CFGrid的一些更改以及AJAX功能。 [在ColdFusion(2016年发布)更新5中修复的错误](https://helpx.adobe.com/coldfusion/kb/bugs-fixed-coldfusion-2016-update-5.html#bugsfixed) –

+0

Miguel - update 5最近应用并解决问题 – Brian

+0

太棒了!很高兴为您解决它。我会补充说,作为答案,其他人会更清楚地看到它。 –

回答

0

部分从注释

没有你所申请到更新时,这打破了

晋升?我知道Adobe几天前发布了另一个更新 - 更新5.该更新包含对CFGrid和AJAX功能的一些更改。 Bugs fixed in ColdFusion (2016 release) Update 5

错误固定的ColdFusion(2016版本)更新5

Bug ID  Description           Component 
CF-4198947 CFGrid scripting options do not work as expected. AJAX : UI Components 

CF-4198855 cfquery requests result in the following error message: 
       Access denied ("java.io.FilePermission" 
       "C:\ColdFusion2016\cfusion\wwwroot\WEB-INF\classes\macromedia\sqlserverutil\userDefaults.properties" "read") Database 

CF-4198854 A piechart does not get displayed with only one item (100%). Charting/Graphing 

CF-4198761 On a Linux OS, cfdocument does not generate chart in a pdf. Document Management : PDF generation 

CF-4198817 cfquery returns cached results even when the cachedafter date is updated to be after the date of the original cached query date, but is still a past date. Database : CFQuery 

CF-4198816 Changes to cached query results are persisted back into cache. Database : CFQuery 

CF-4198764 When loading the template for the first time, the template displays the CFTOKEN, however, with the second refresh the token disappears. Core Runtime : Session Management 

CF-4198589 Method invocation through ajaxproxy fails even if the required arguments are passed. AJAX : Plumbing 

CF-4198570 The datefield attribute in cfinput does not display the value of the attribute. CFForm : HTML 

CF-4198559 The Elvis operator fails when used with argument scope. Core Runtime 

CF-4198513 The cache does not get updated as expected. Caching 

CF-4195407 cfinput type="datefield" generates invalid HTML code. CFForm 

CF-4182090 When Sandbox security is enabled, you are unable to connect to SQL Server. Security