Skip to main content
Known Participant
December 1, 2008
Answered

Dynamic cfgridcolumn name?

  • December 1, 2008
  • 2 replies
  • 646 views
Hi There,

I'm having a query which returns different columns based on the input. I'm trying to get the cfgridcolumn name dynamic. For example, in below code column name ABC has been hardcoded.

<cfgrid bindonload="yes" bind="cfc:xyz.entityList({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})">
<cfgridcolumn name="ABC" header="ABC"/>
</cfgrid>

Is there a way were we can mention the columnname as a variable? Something similor to:

<cfgrid bindonload="yes" bind="cfc:xyz.entityList({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection})">
<cfloop list="#entityList.ColumnList#" index = "index">
<cfgridcolumn name="ABC" header="ABC"/>
</cfloop>
</cfgrid>

Any help would be greatly appeciated.

Many thanks
This topic has been closed for replies.
Correct answer Daverms
Convert your columnlist to an array like,

<cfset colList = ArrayToList(your_query.getColumnList())>


Then you can assign it to a gridcolumn as,

<cfloop list="#colList#" index="i">
<cfgridcolumn name="#i#" header="#i#" headeralign="left" dataalign="left" bold="yes" italic="no" select="yes" display="yes" headerbold="no" headeritalic="yes">
</cfloop>


HTH

2 replies

wmanuAuthor
Known Participant
December 2, 2008
That made my life easier. Thanks a lot for your time and effort.
DavermsCorrect answer
Inspiring
December 1, 2008
Convert your columnlist to an array like,

<cfset colList = ArrayToList(your_query.getColumnList())>


Then you can assign it to a gridcolumn as,

<cfloop list="#colList#" index="i">
<cfgridcolumn name="#i#" header="#i#" headeralign="left" dataalign="left" bold="yes" italic="no" select="yes" display="yes" headerbold="no" headeritalic="yes">
</cfloop>


HTH