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/
 



Reply via email to