Based on the example I don’t think sort was the problem but more that the data wasn’t saved right?  Here’s a cell renderer that I think does what you want:

 

<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 item:Object;

       

    

       function setValue(str:String, item:Object, sel:Boolean) : Void

       {

                this.item = item;

      

            _cb.visible =(item!=undefined);

 

            if (item[getDataLabel()] == null)

            {

                        _cb.selectedIndex = 0;

            }

            else

            {

                        _cb.selectedItem = item[getDataLabel()];

            }          

 

       }

     

     

     

      function cbChangeHandler(evt:Object):Void

      {

                  listOwner.editField(getCellIndex

().itemIndex,getDataLabel(),_cb.selectedItem);

      }

     

       

    </mx:Script>

    <mx:ComboBox id="_cb" dataProvider="{reasonlist.dataProvider}" change="cbChangeHandler(event)" />

 

 

</mx:VBox>

 

Matt

 


From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Joe
Sent: Tuesday, July 12, 2005 5:20 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Can someone please explain to me why I can not get my combo boxes to sort in my

 

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





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




Reply via email to