Hello, I have done some changes in the code you posted and now it's 
working as you wish.. :)

I think the problem was that you were trying to modify the field 
(i.e. "reasonlist.dataProvider") which is not a field of the 
datagrid's dataProvider.

Here in the xml i have added a node "dxereasonid" which maintains  
the selected index of the combo and thus also sorts when dg is 
sorted...

have a look...
hope it'll help you..

Regards,
Dipti.

----XML-----

<DxList>
        <dxinfo>
                <dxcode>129622</dxcode>
                <dxdesc>AMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE 
EPISODE MODERATE DEGREE</dxdesc>
                <dxsource>ECS</dxsource>
                <dxereasonid>0</dxereasonid>
        </dxinfo>
        <dxinfo>
                <dxcode>229622</dxcode>
                <dxdesc>BMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE
        EPISODE MODERATE DEGREE</dxdesc>
                <dxsource>ECS</dxsource>
                <dxereasonid>1</dxereasonid>
        </dxinfo>
        <dxinfo>
                <dxcode>329622</dxcode>
                <dxdesc>CMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE
        EPISODE MODERATE DEGREE</dxdesc>
                <dxsource>ECS</dxsource>
                <dxereasonid>2</dxereasonid>
        </dxinfo>
        <dxinfo>
                <dxcode>429622</dxcode>
                <dxdesc>DMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE
        EPISODE MODERATE DEGREE</dxdesc>
                <dxsource>ECS</dxsource>
                <dxereasonid>0</dxereasonid>
        </dxinfo>
</DxList>

-----Cell Renderer-----


<mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml"; 
marginLeft="0" marginBottom="0" marginRight="0" marginTop="0" 
height="25" backgroundAlpha="0" width="100" verticalAlign="middle" 
horizontalAlign="center" >

<mx:Script>
public static var dataProvider:Array;
private var listOwner:Object;
var getCellIndex : Function;
var getDataLabel : Function;
var dp = [ "", "Incorrect", "Resolved", "Other" ];
function setValue(str:String, item:Object, sel:Boolean) : Void
{
        _cb.visible =(item!=undefined);
        
        /*_cb.dataProvider = reasonlist.dataProvider;
        
        _cb.selectedIndex = reasonlist.dataProvider.selectedIndex;*/
        _cb.selectedIndex = listOwner.getItemAt(getCellIndex
().itemIndex).dxereasonid;

}

function getValue() : Object
{
        var rd = listOwner.getItemAt(getCellIndex().itemIndex);
        return rd.reasonlist.dataProvider;
}

function handleEvent(evt:Object):Void{
        if (evt.type == "change"){              
                var rd = listOwner.getItemAt(getCellIndex
().itemIndex);
                //rd.reasonlist.dataProvider.selectedIndex = 
_cb.selectedIndex;              
                //var colName = listOwner.getColumnAt(getCellIndex
().columnIndex).columnName;
                //listOwner.editField(getCellIndex().itemIndex, 
colName, _cb.selectedItem);     
                listOwner.editField(getCellIndex
().itemIndex, "dxereasonid", _cb.selectedIndex);        
        }
}


</mx:Script>
<mx:ComboBox id="_cb" dataProvider="{dp}" change="handleEvent
(event)"/>


</mx:VBox>







--- In [email protected], "Joe" <[EMAIL PROTECTED]> wrote:
> Can someone please explain to me why I can not get my combo boxes 
to 
> sort in my data grid.  I have provided the code I am using. I have 
> around and around with this and I am getting no where. I can not 
seem 
> to get the action scripting syntax correct.  Thank you!
> 
> --- Data grid ----
> 
> <mx:Script>
> private function initCellRenderer() : Void    
> <![CDATA[
>  {
>   reasonlist.dataProvider = 
[ "", "Incorrect", "Resolved", "Other" ];
>   }
> ]]>
> </mx:Script>
> 
> <mx:DataGrid  rowHeight="75" width="800"  height="302" 
>               alternatingRowColors="[#fafafa,#ffffff]" 
> useRollOver="false" selectable="FALSE" >
>               <mx:Model id="DXList" source="dxlist.xml"/>
>               <mx:dataProvider>{DXList.dxinfo}</mx:dataProvider>
>               <mx:columns>
>               <mx:Array>
>                <mx:DataGridColumn headerText="Dx Code" 
> columnName="dxcode" textAlign="center" width="75"/>
>               <mx:DataGridColumn headerText="Dx" 
> columnName="dxdesc" textAlign="center" width="455" />
>               <mx:DataGridColumn headerText="Dx Source" 
> columnName="dxsource"  textAlign="center" width="85"/>
>               <mx:DataGridColumn headerText="Reason" 
> columnName="reasonchoice" textAlign="center" 
> cellRenderer="reasonlist"/>
>               </mx:Array>
>               </mx:columns>
>               
>       </mx:DataGrid>
> </mx:Application>
> 
> 
> --- XML data for data grid ------
> 
> <DxList>
>       <dxinfo>
>               <dxcode>129622</dxcode>
>               <dxdesc>AMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE 
> EPISODE MODERATE DEGREE</dxdesc>              
>               <dxsource>ECS</dxsource>
>       </dxinfo>
>       <dxinfo>
>               <dxcode>229622</dxcode>
>               <dxdesc>BMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE 
> EPISODE MODERATE DEGREE</dxdesc>              
>               <dxsource>ECS</dxsource>
>               </dxinfo>
>       <dxinfo>
>               <dxcode>329622</dxcode>
>               <dxdesc>CMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE 
> EPISODE MODERATE DEGREE</dxdesc>      
>               <dxsource>ECS</dxsource>
>       </dxinfo>
>       <dxinfo>
>               <dxcode>429622</dxcode>
>               <dxdesc>DMAJOR DEPRESSIVE AFFECTIVE DISORDER SINGLE 
> EPISODE MODERATE DEGREE</dxdesc>      
>               <dxsource>ECS</dxsource>        
>               </dxinfo>
>       <dxinfo>
> 
> <DxList>
> 
> 
> --- CellRendering File ---
> 
> <mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml"; 
> marginLeft="0" marginBottom="0" marginRight="0" marginTop="0" 
> height="25" backgroundAlpha="0"  width="100" verticalAlign="middle" 
> horizontalAlign="center" >
> 
> 
>     <mx:Script>
>         public static var dataProvider:Array;
>         private var listOwner:Object;
>         var getCellIndex : Function;
>               var getDataLabel : Function;
>       
>        function setValue(str:String, item:Object, sel:Boolean) : 
Void 
>       { 
>               _cb.visible =(item!=undefined); 
>               
>               _cb.dataProvider = reasonlist.dataProvider;
> 
>               _cb.selectedIndex = 
> reasonlist.dataProvider.selectedIndex;
> 
>               }
>       
>       function getValue() : Object
>       {
>               var rd = listOwner.getItemAt(getCellIndex
> ().itemIndex);
>               return rd.reasonlist.dataProvider;
>       }
>       
>       function handleEvent(evt:Object):Void
>       {
>               if (evt.type == "change")
>               { 
> 
>                       var rd = listOwner.getItemAt(getCellIndex
> ().itemIndex);
> 
>                       rd.reasonlist.dataProvider.selectedIndex = 
> _cb.selectedIndex;
> 
>                       listOwner.editField(getCellIndex
> ().itemIndex,"reasonlist.dataProvider",rd.reasonlist.dataProvider);
>               } 
>       }
>       
>         
>     </mx:Script>
>     <mx:ComboBox id="_cb" 
dataProvider="{reasonlist.dataProvider}"  />
> 
> 
> </mx:VBox>






--
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