Question
Row color is not rendered in CFGRID in CF2021
Row color displayed in red in CF2016. On migrating to CF2021, it is rendering default color.
Please find attached code snippet for your reference.
Please help.
Thank you.
<!--- Create a new three-column query, specifying the column data types --->
<cfset myQuery = QueryNew("Name, Time, Advanced", "VarChar, Time, Bit")>
<!--- Make two rows in the query --->
<cfset QueryAddRow(MyQuery, 2)>
<!--- Set the values of the cells in the query --->
<cfset QuerySetCell(myQuery, "Name", "The Wonderful World of CFML", 1)>
<cfset QuerySetCell(myQuery, "Time", "9:15 AM", 1)>
<cfset QuerySetCell(myQuery, "Advanced", False, 1)>
<cfset QuerySetCell(myQuery, "Name", "CFCs for Enterprise Applications", 2)>
<cfset QuerySetCell(myQuery, "Time", "12:15 PM", 2)>
<cfset QuerySetCell(myQuery, "Advanced", True, 2)>
<html>
<head>
<script language="javascript">
var gridName= "WorkListGrid";
var init = function ()
{
RenderGrid();
}
function myRender (data, meta, record, rowIndex, colIndex, store) {
if (typeof data != 'undefined'){
data = '<a style="' + record.data.ROWCOLOR + '">' + data + '</a>';
}
return data;
}
RenderGrid = function() {
mygrid = ColdFusion.Grid.getGridObject('WorkListGrid');
mygrid.autoExpandColumn='ROWCOLOR';
mygrid.autoExpandColumnId='ROWCOLOR';
var iWidth=100;
cm = mygrid.headerCt.getGridColumns();
cm[1].renderer = myRender;
cm[2].renderer = myRender;
cm[3].renderer = myRender;
}
</script>
</head>
<cfset ajaxOnLoad("init")>
<body>
<cfform action="" method="POST" name="mainListFrm">
<cfgrid name = "WorkListGrid" format="HTML" rowHeaderBold="yes" multirowselect="yes" selectMode="row"
height="300" width="900" striperows="yes" striperowcolor="F0F8FF" selectonload="no"
font="Tahoma" fontsize="12" rowheaders="yes" >
<cfgridcolumn name="Name" width="150" header="Name" headerMenu="no" />
<cfgridcolumn name="Time" width="150" header="Time" headerMenu="no" />
<cfgridcolumn name="Advanced" width="150" header="Advanced" headerMenu="no" />
<cfgridcolumn name="rowColor" width="75" header="rowColor" display="no" headerMenu="no"/>
<cfoutput query="myQuery">
<cfset rowColor=lcase("color:Red;font-weight:normal;")>
<cfgridrow data ="#Name#|#Time#|#Advanced#|#rowColor#" delimiter="|">
</cfoutput>
</cfgrid>
</cfform>
</body>
</html>