Skip to main content
Participant
Jan 6, 2022 6:06 PM UTC
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>
    This topic is closed to new replies. Start a new post to keep the conversation going.