Thanks Tracy - that did the trick... :-)
<mx:Script>
<![CDATA[
mx.controls.Alert.show("State selected is " +
dgLocationInfo.selectedItem.LocState);
]]>
</mx:Script>
<mx:DataGrid id="dgLocationInfo">
<mx:columns>
<mx:Array>
<mx:DataGridColumn headerText="State" columnName="LocState"
editable="false" cellRenderer="StateRenderer" width="120"/>
</mx:Array>
</mx:columns>
</mx:DataGrid>
cellRenderer:
import mx.controls.ComboBox;
class StateRenderer extends mx.core.UIComponent {
var comboDP:Array = [{label:"Alabama", data:"AL"}, {label:"Alaska",
data:"AK"}, {label:"Arizona", data:"AZ"}, {label:"Arkansas",
data:"AR"}, {label:"California", data:"CA"}, {label:"Colorado",
data:"CO"}, {label:"Connecticut", data:"CT"}, {label:"Delaware",
data:"DE"}, {label:"Florida", data:"FL"}, {label:"Georgia",
data:"GA"}, {label:"Hawaii", data:"HI"}, {label:"Idaho", data:"ID"},
{label:"Illinois", data:"IL"}, {label:"Indiana", data:"IN"},
{label:"Iowa", data:"IA"}, {label:"Kansas", data:"KS"},
{label:"Kentucky", data:"KY"}, {label:"Louisiana", data:"LA"},
{label:"Maine", data:"ME"}, {label:"Maryland", data:"MD"},
{label:"Massachusetts", data:"MA"}, {label:"Michigan", data:"MI"},
{label:"Minnesota", data:"MN"}, {label:"Mississippi", data:"MS"},
{label:"Missouri", data:"MO"}, {label:"Montana", data:"MT"},
{label:"Nebraska", data:"NE"}, {label:"Nevada", data:"NV"},
{label:"New Hampshire", data:"NH"}, {label:"New Jersey", data:"NJ"},
{label:"New Mexico", data:"NM"}, {label:"New York", data:"NY"},
{label:"North Carolina", data:"NC"}, {label:"North Dakota",
data:"ND"}, {label:"Ohio", data:"OH"}, {label:"Oklahoma", data:"OK"},
{label:"Oregon", data:"OR"}, {label:"Pennsylvania", data:"PA"},
{label:"Rhode Island", data:"RI"}, {label:"South Carolina",
data:"SC"}, {label:"South Dakota", data:"SD"}, {label:"Tennessee",
data:"TN"}, {label:"Texas", data:"TX"}, {label:"Utah", data:"UT"},
{label:"Vermont", data:"VT"}, {label:"Virginia", data:"VA"},
{label:"Washington", data:"WA"} ];
var combo;
var listOwner : MovieClip;
var getCellIndex : Function;
var getDataLabel : Function;
function createChildren(Void) : Void {
combo = createClassObject( ComboBox, "combo", 1, {owner:this,
_x:1});
combo.dataProvider = comboDP;
combo.addEventListener("change", this);
}
function getPreferredHeight(Void) : Number{
return combo != undefined ? 18:0;
}
function getPreferredWidth(Void) : Number{
return combo != undefined ? 100:0;
}
function setValue(str:String, item:Object) {
var val = item.department;
for(var i = 0; i < combo.dataProvider.length; i++) {
combo.dataProvider[i].data == val ? combo.selectedIndex
= i : '';
}
}
function change() {
listOwner.editField(getCellIndex().itemIndex,getDataLabel(),
combo.selectedItem.data);
listOwner.selectedIndex = getCellIndex().itemIndex;
}
}
--- In [email protected], "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> Have your combobox cell renderer on change update the data grid's
> dataProvider. Use editField. There is an example using a checkbox
> renderer in the Flex Samples.
>
> Then reference it through dgLocationInfo.selectedItem.LocState.
>
> Tracy
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of mrvinedit
> Sent: Tuesday, January 24, 2006 11:27 AM
> To: [email protected]
> Subject: [flexcoders] How to reference the State selected in a Comboxbox
> cellRenderer in a Datagrid?
>
> For some reason I'm drawing a blank on the correct syntax for this. I
> can do this all day with a "standalone combobox", but missing the way
> to reference it from within a datagrid. :-)
>
> <mx:Script>
> <![CDATA[
> mx.controls.Alert.show("State selected is " +
> dgLocationInfo.selectedItem.LocState.?);
> ]]>
> </mx:Script>
>
>
> <mx:DataGrid id="dgLocationInfo">
> <mx:columns>
> <mx:Array>
> <mx:DataGridColumn headerText="State" columnName="LocState"
> editable="false" cellRenderer="StateCombo" width="120"/>
> </mx:Array>
> </mx:columns>
> </mx:DataGrid>
>
> cellRenderer:
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:ComboBox xmlns:mx="http://www.macromedia.com/2003/mxml" width="100">
> <mx:dataProvider>
> <mx:Array>
> <mx:Object label="Alabama" data="AL" />
> <mx:Object label="Texas" data="TX" />
> </mx:Array>
> </mx:dataProvider>
> </mx:ComboBox>
>
>
>
>
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/