1

Currently we have ColdFusion 2016 Update 1 installed on our deployed server. After we upgraded our CF version from 9 to 2016, all cfgrids combobx columns started behaving a bit strange. Grid combobox columns are not displaying the exact values defined in cfgridcolumn values and valuesdisplay list. We have some links on the grid that opens up a pop-up with cfgrid. This grid combobox list data is getting mapped to the parent grid combobox list.

For ex: If the parent grid second column is a combobox and values="true,false" and the pop-up grid second column combobox values="FE,TSE,TS", If I try to edit pop-up grid second column, true/false is appearing in the combobox list.

Strangely this is happening with all the grids that have editable combobox columns. Can anyone please help me with this issue?

Grids settings is something like:

<cfset gridArgs = structNew()>
<cfset gridArgs.name = "LoansGrid">
<cfset gridArgs.pageSize = 20>
<cfset gridArgs.format = "html">
<cfif SERVER.ColdFusion.ProductVersion lt 9>
 <cfset gridArgs.width = "99%">
</cfif>
<cfset gridArgs.autowidth = "no">
<cfset gridArgs.bindOnLoad = "true">
<cfset gridArgs.bind = "cfc:XXX.MVP.components.Manager.getRecords({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection},{Filter})">
<cfset gridArgs.stripeRows = true>
<cfset gridArgs.selectColor = "##D9E8FB">
<cfset gridArgs.selectmode = "edit">
<cfset gridArgs.onchange = "cfc:XXX.MVP.components.Manager.editRecord({cfgridaction},{cfgridrow},{cfgridchanged})"> 

<style>
 td div, table div, form div { margin:0; } .x-grid-header { margin:0; } .x-grid-hd-row td { line-height:normal; }
</style>

<cfform name="EEEForm">

 <cfinput type="hidden" name="Filter" value="#id#">

<cfgrid attributeCollection="#gridArgs#">
 <cfgridcolumn name='Links' header='Links' display="true" width="170" select="no">
 <cfgridcolumn name='Record_ID' header='Record ID' display="false" select="no">
 <cfgridcolumn name="ID" header="ID"  display="false" select="no">
 <cfgridcolumn name="Number" header="Number"  display="true" bold="yes">
 <cfgridcolumn name="IncludeInRun" header="Include in Run"  display="true" values="1,0" valuesdisplay="True,False">
 <cfgridcolumn name="Status" header="Status"  display="true">
 <cfgridcolumn name="LastName" header="Last Name"  display="true">
 <cfgridcolumn name="ProductType" header="Product Type"  display="true" values="#productType#" valuesdisplay="#productType#">
 <cfgridcolumn name="PropertyType" header="Property Type"  display="true" values="#propertyType#" valuesdisplay="#propertyType#">
 ........
</cfgrid>
</cfform>
James A Mohler
  • 11,060
  • 15
  • 46
  • 72
user3799570
  • 99
  • 1
  • 12
  • 2
    Easy solution...stop using `cfgrid`, or pretty much any of the ColdFusion UI tags. They are poorly implemented, grossly outdated and woefully limited in functionality. IN many cases, it is easier to use other libraries natively than it is tio use the half-baked in features in CF. – Scott Stroz Sep 15 '16 at 12:12

0 Answers0