2017-09-14 41 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