Skip to main content
Inspiring
June 27, 2006
Question

How to query records - Combo

  • June 27, 2006
  • 1 reply
  • 308 views

Dear all,

I have this sample sourcecode from other website. How do I pull records from Country Table and populate the records in the createChildren function (GridRenderer.as file)? I don't want to hard-code my country.


Grid.cfm
-----------
<cfform format="Flash" skin="haloSilver">

<cfsaveContent variable="onLoad">
function(){
_level0.myGrid.rowHeight=25;
//applying the cellRenderer 'GridRenderer.as' to the 4th column
_level0.myGrid.getColumnAt(3).cellRenderer = GridRenderer;
}.call()
</cfsavecontent>

<!--- grid with 3 columns name, firstName, department --->
<cfgrid name="myGrid">
<cfgridColumn name="Name">
<cfgridColumn name="FirstName">
<cfgridColumn name="Country">
<cfgridrow data="Maegerman, Philippe, SGP">
<cfgridrow data="Fonda, Nahuel, USA">
</cfgrid>

<cfinput type="submit" name="cmdSubmit" value="Submit to see the form dump">
<!--- onLoad trigger --->
<cfinput type="text" visible="No" width="0" height="0" name="trigger2" bind="{1==2?'':#onLoad#}">

</cfform>


GridRenderer.as
-----------------------
import mx.controls.ComboBox;

class GridRenderer extends mx.core.UIComponent{

var combo;
var listOwner : MovieClip;
var getCellIndex : Function;
var getDataLabel : Function;

function createChildren(Void) : Void{
combo = createClassObject( ComboBox, "combo", 1, {owner:this});
combo.dataProvider = [{data:'SGP',label:'Singapore'}, {data:'JPN',label:'Japan'}, {data:'USA',label:'United States of America'}, {data:'AUS',label:'Australia'}, {data:'IND',label:'India'}];
combo.addEventListener("change", this);
}

function getPreferredHeight(Void) : Number{
return combo != undefined ? 25:0;
}

function setValue(str:String, item:Object){
var val = item.country;
for(var i = 0; i < combo.dataProvider.length; i++){
combo.dataProvider.data == val ? combo.selectedIndex = i : '';
}
}

function change() {
listOwner.editField(getCellIndex().itemIndex, getDataLabel(), combo.selectedItem.data);
}

}

Thanks in advance
Keiko
    This topic has been closed for replies.

    1 reply

    Inspiring
    June 27, 2006
    Wouldn't something like this be easier?

    cfquery to get your countries.
    <cfform>
    <cfselect query="yourquery" value="country_code" display = "country_name">
    KeikoAuthor
    Inspiring
    June 28, 2006
    The purpose of those long codes is to display combos in the grid, not just an ordinary combo.
    Any other helps will be appreciated.

    Keiko