Impression of field collection ArrayCollection object

Hi all

I can return the collection of items in area code (POJO/value object) server that can be extracted as a collection table-side client in Flex. On the iteration of the table collection, we can get each item as an object. It is now possible to print/get the individual properties on object/POJO without creating/binding with action script class.

For example a collection of used class has been removed from the side server, and we have in collection ArrayCollection. We can print the Rible properties such as first name, last name etc without creating a corrosponding action script class.

Thank you

Hello

well, sure you can.

As you mention all the object will be an object with all the properties type. Then simply to know the names of these properties.

for each (var obj:Object in _arrayCollection)

{

trace (obj ["name"]);

trace (obj ["name"]); and so on

}

Tags: Flex

Similar Questions

  • Removing collection ArrayCollection object element

    If I have an ArrayCollection collection like this:

    public var myAC:ArrayCollection = new collection ArrayCollection ([{name: "first of all, the price: '10' '}]);
    myAC.addItem ({name: 'second', price: '20'});

    For example to remove {name: price "First': '10'"} point myAC?

    Thanks in advance

    myAC.removeItemAt strives to remove items.

    Or...

    myAC.getItemAt (0) = null;

    var temp: collection ArrayCollection = new ArrayCollection();

    for (var a: uint = 0; a)< myac.length;="">
    {
    If (myAC.getItemAt (a)! = null)
    {
    temp.addItem (myAC.getItemAt (a));
    }
    }

    myAC.removeAll ();

    myAC = new ArrayCollection (temp);

    Who can solve the problem. The idea makes sense, but I did not test the code.

    for (var a: uint = 0; a)<>

  • How to browse the collection ArrayCollection?

    I have two datagrids and you want to move items on datagrip and fill the other.  Here is a screenshot of a Visual screen.

    Picture 1.png

    In the screenshot on I can add some names/sex to the datagrid on the left using the text input and the Add button.  I can select the checkboxes for each name of ros as well. I want to do is move the check names in the datagrid control on the left for the datagrid on the right.  4 max.  But if I chose only 2 name, both names would be added to the 1 Racer and Racer 2. Runner 3 and 4 of the race would be left blank.  If I check the new names and submitted it would be in a new line on the left data grid.

    What I can understand is to scroll the datagrid control left and find only the lines of control.  To the right of the datagrid can be quite easily as soon as I figure out how to identify what is checked and what is not checked.

    This is the datagrid on the right.

    "" " < mx:DataGrid x ="10"y ="76"height ="337"id ="list"editable ="false"dataProvider =" rosterArray{}">

    < mx:columns >

    < mx:DataGridColumn headerText = "" width ="30">

    < mx:itemRenderer >

    < mx:Component >

    < mx:CheckBox / >

    < / mx:Component >

    < / mx:itemRenderer >

    < / mx:DataGridColumn >

    "" < mx:DataGridColumn headerText = "name" dataField ="name" width = "200" "editable ="false" / >

    "" < mx:DataGridColumn headerText = "sex" dataField ="sex" width = "40" "editable ="false" / >

    "" < mx:DataGridColumn headerText = "time" dataField ="time" width = "45" editable ="false" / >

    < / mx:columns >

    < / mx:DataGrid >

    The function add to my rosterArray (left datagrid) is below.

    private function rosterAdd():void

    {

    rosterArray.addItem({name:addName.text,sex:sexGroup.selectedValue.toString()});)

    addName.text = ""; empty text entry field.

    }

    I guess I have to scroll datagrid and not the rosterArray because I don't have a place for the checkmarks in the rosterArray.

    Any help idetifying which lines are checked in the left data grid would be much appreciated.

    Thank you.

    This code is not production level, but it should answer your question.

    If this post answers your question or assistance, please mark it as such.

    Greg Lafrance - Flex 2 and 3 certified ACE

    www.ChikaraDev.com

    Flex / development, training, AIR and Support Services

    
    
      
        
      
      
      
        
          
          
            
            
            
            
          
          
            
              
                
                  
                    
                      
                        
                          
                        
                      
                    
                  
                
              
              
              
              
            
          
          
        
        
          
          
            
              
              
              
              
            
          
          
        
      
    
    
  • collection ArrayCollection collection arraycollection assigned values from the original setting?

    Hi... I am pretty stumped on this one. Here's the situation... on my main flex app I define an arraycollection collection:

    public var fiscalYrsArray:ArrayCollection;

    The collection is filled with the results of a query to a CFC

    protected function fiscalYrs_resultHandler(event:ResultEvent):void {}

    for (var x: int = 0; x < event.result.length; x ++) {}

    If (event.result [x]. DATA == passData.filterFiscalYrs) {}

    Event.Result [x]. Assigned = true;

    }

    }

    fiscalYrsArray = event.result as ArrayCollection collection;

    }

    I have a main application with drop-down menus window (I use a multi-case combobox). I use this window as a filter window, where users can choose what they want filtered.

    on this component, I use a temporary arraycollection collection (b/c I don't want to change the assignments of the arraycollection the temp collection is based off of) which will be a copy of the fiscalYrsArray of the parentApplication collection:

    " < = xmlns:fx s:TitleWindow ' http://ns.Adobe.com/MXML/2009 'close = "PopUpManager.removePopUp (this)'

    xmlns:s = "library://ns.adobe.com/flex/spark" title = "filter data" creationComplete = "initComp (); »

    xmlns:MX = "library://ns.adobe.com/flex/mx" width = "400" height = "300".

    xmlns:multiPickBox = "Components.multiPickBox. *" >

    < fx:Declarations >

    <! - Place non-visual elements (e.g., services, items of value) here - >

    < / fx:Declarations >

    < fx:Script >

    <! [CDATA]

    Import mx.collections.ArrayCollection;

    Import mx.controls.Alert;

    Import mx.managers.PopUpManager;

    private var tempfilterFiscalYrs:String

    [Bindable] private var fiscalYrDP:ArrayCollection = new ArrayCollection collection;

    private function initComp (): void {}

    fiscalYrDP = parentApplication.fiscalYrsArray;

    tempfilterFiscalYrs = parentApplication.passData.filterFiscalYrs;

    }

    protected function msc_addItemHandler(event:Event,filterVal:String,comboId:String):void

    {

    Alert.Show ("get here '");

    This [filterVal] = ";

    {for each (var point: Object in {this [comboId] .selectedItems)}

    This element of += [filterVal] ['DATA'] + ",";

    }

    filterChange = true;

    idText.text = str;

    }

    I am lie the collection arraycollection filterYrDP to a custom choice multi combobox:

    < multiPickBox:CheckCombo id = "fiscalYearF" width = "162" dataProvider = "{fiscalYrDP}".

    addItem = "msc_addItemHandler (event, 'tempfilterFiscalYrs', 'fiscalYearF')" "

    allIndex = '0' x = "77" y = "17" labelField = "DATA" / >

    However, I find that when an element is activated the assigned = true value is actually applied to the fiscalYrsArray of my parentApplication origin. I just want the assigned = true to apply to the fiscalYrDP collection arraycollection (one that is based on the fiscalYrsArray of parentApplication). How could it be written back and changing the properties of a fi main is just a temporary copy?

    By assigning the table using "=" you are just assigning the same table - in the same memory location.

    If you want to keep a separate table, you use the function ObjectUtil.copy

    import mx.utils.ObjectUtil;
    
    arrNewData  = new ArrayCollection();
    arrOldData  = ObjectUtil.copy(arrNewData) as ArrayCollection;
    
  • GetItemAt collection ArrayCollection

    I want to return the index of an item in a collection of ArrayCollection for setting the selected index of a drop-down list box

    [Bindable] public var time: collection ArrayCollection = new ArrayCollection () collection
    ([{label: "01:00", data: "01:00:00"}, {label: '01:15 ', data: "01:15:00"}, {label: "01:30", data: "" 01:30:00 ""}]);

    The following does not work.

    var point: Object = new Object();
    Item = {data: "01:15:00"};
    This. RepairBySelected = times.getItemIndex (item);

    A string value of "01:15:00".

    How can I return a value of 1 at the time collection (the this value index) ArrayCollection?

    Thank you

    Dan

    Daniel Pride wrote:

    Give the ArrayCollection collection

    [Bindable] public var time: collection ArrayCollection = new ArrayCollection () collection
    ([{label: "01:00", data: "01:00:00"}, {label: '01:15 ', data: "01:15:00"}, {label: "01:30", data: "" 01:30:00 ""}]);

    Give me a use of GetitemIndex which returns the index of the element in the second list. (1)

    Thank you

    Dan

    Yes, Mr President.

    public var _entry:Object = {label: "01:15", data: "01:15:00"};

    public var _entry2:Object = {label: "01:15", data: "01:15:00"};

    [Bindable] public var time: ArrayCollection collection = new collection ArrayCollection ([{label: "01:00", data: "01:00:00"}, _entry, {label: "01:30", data: "01:30:00"}]);

    trace ("" + Times.GetItemIndex (_entry) +', '+ times.getItemIndex (_entry2));

  • return index collection ArrayCollection-1 after updating in datagrid

    When I called data.refresh ();  arraycollection.getItemIndex (obj1) returns-1

    is anyway to make it work properly or work around?

    <? XML version = "1.0" encoding = "utf-8"? >

    "" < s:Application xmlns:fx = "http://ns.adobe.com/mxml/2009"

    "xmlns: s="library://ns.adobe.com/flex/spark"preinitialize ="application1_preinitializeHandler (event) ".

    xmlns:MX ="library://ns.adobe.com/flex/mx"minWidth = "955" = "600" xmlns:local = minHeight"*" > "

    < fx:Script >

    <! [CDATA]

    Import mx.collections.ArrayCollection;

    Import mx.collections.Sort;

    Import mx.events.FlexEvent;

    private var data: ArrayCollection collection;

    private var obj1:Object;

    protected function application1_preinitializeHandler(event:FlexEvent):void

    {

    obj1 = {'name': '1'}

    data = new ArrayCollection();

    data.addItem (obj1);

    data.addItem({"name":"2"});)

    trace (Data.GetItemIndex (obj1)); 0

    var sort: sort = new Sort();

    sort.compareFunction = nameSort;

    Data.sort = sort;

    data .filterFunction = null;

    Data.Refresh ();

    -1 trace (Data.GetItemIndex (obj1))

    }

    private void aa (): void {}

    }

    private void nameSort(m1:Object,_m2:Object,arr:Array=null):int {}

    Returns - 1;

    }

    []] >

    < / fx:Script >

    < fx:Declarations >

    < / fx:Declarations >

    < / s:Application >

    A comparison function sorts must return 1, 0 or - 1 on a consistent basis.  He

    cannot simply return-1.

  • Problem with allocating memory collection arraycollection by AddItem

    I have a strange problem with the AddItem method.

    I made a new item with this code:

    ------

    for (var u: int = 0; u < 41; u ++) {}
    Page = new PageToSave();
    project.addPage (page as PageToSave);
    }

    -----

    the project is a distance of class projectblueprint:

    package marcoDoItBetter.utils
    {
    Import mx.collections.ArrayCollection;
    public class ProjectBlueprint
    {
    private var _pages:ArrayCollection;

    public void addPage(page:PageToSave):void
    {
    This._pages. AddItem (page);
    }

    }

    }

    ----

    PageToSave is a class that extends the object.

    When we create the element using the addPages (so with in the collection _pages arraycollection's addItem) programmatically, we have this result using the term Inspector in debug mode.

    It is on the output of the debugger:

    pageList = mx.collections.ArrayCollection (@105cf341)
    [inherited] =
    [0] = marcoDoItBetter.utils.PageToSave (@113cb461)
    [1] = marcoDoItBetter.utils.PageToSave (@113cb401)
    [2] = marcoDoItBetter.utils.PageToSave (@113cb3a1)
    [3] = marcoDoItBetter.utils.PageToSave (@113cb341)
    [4] = marcoDoItBetter.utils.PageToSave (@113cb2e1)
    [5] = marcoDoItBetter.utils.PageToSave (@113cb281) < -.
    [6] = marcoDoItBetter.utils.PageToSave (@113cb221)
    [7] = marcoDoItBetter.utils.PageToSave (@113cb1c1)
    [8] = marcoDoItBetter.utils.PageToSave (@113cb161)
    [9] = marcoDoItBetter.utils.PageToSave (@113cb101)
    [10] = marcoDoItBetter.utils.PageToSave (@113cb0a1)
    [11] = marcoDoItBetter.utils.PageToSave (@113cb041)
    [12] = marcoDoItBetter.utils.PageToSave (@1140dfa1)
    [13] = marcoDoItBetter.utils.PageToSave (@1140df41)
    [14] = marcoDoItBetter.utils.PageToSave (@1140dee1)
    [15] = marcoDoItBetter.utils.PageToSave (@1140de81)
    [16] = marcoDoItBetter.utils.PageToSave (@1140de21)
    [17] = marcoDoItBetter.utils.PageToSave (@1140ddc1)
    [18] = marcoDoItBetter.utils.PageToSave (@1140dd61)
    [19] = marcoDoItBetter.utils.PageToSave (@1140dd01)
    [20] = marcoDoItBetter.utils.PageToSave (@1140dca1)
    [21] = marcoDoItBetter.utils.PageToSave (@1140dc41)
    [22] = marcoDoItBetter.utils.PageToSave (@113cb281) < -.
    [23] = marcoDoItBetter.utils.PageToSave (@1140db81)
    [24] = marcoDoItBetter.utils.PageToSave (@1140db21)
    [25] = marcoDoItBetter.utils.PageToSave (@1140dac1)
    [26] = marcoDoItBetter.utils.PageToSave (@1140da61)
    [27] = marcoDoItBetter.utils.PageToSave (@1140da01)
    [28] = marcoDoItBetter.utils.PageToSave (@1140d9a1)
    [29] = marcoDoItBetter.utils.PageToSave (@1140 d 941)
    [30] = marcoDoItBetter.utils.PageToSave (@1140d8e1)
    [31] = marcoDoItBetter.utils.PageToSave (@1140 d 881)
    [32] = marcoDoItBetter.utils.PageToSave (@1140 d 821)
    [33] = marcoDoItBetter.utils.PageToSave (@1140d7c1)
    [34] = marcoDoItBetter.utils.PageToSave (@1140 d 761)
    [35] = marcoDoItBetter.utils.PageToSave (@1140 d 701)
    [36] = marcoDoItBetter.utils.PageToSave (@1140d6a1)
    [37] = marcoDoItBetter.utils.PageToSave (@1140 d 641)
    [38] = marcoDoItBetter.utils.PageToSave (@1140 d 221)
    [39] = marcoDoItBetter.utils.PageToSave (@1140d5e1)
    [40] = marcoDoItBetter.utils.PageToSave (@1140 d 461)
    source = Array (@1140c9a9)

    as you can see the [5] and the [22] PageToSave id internal flex (or instances of the class has the same address listing.

    "I don't know the exact name of it). It happens totally randomly.

    sometimes fine, sometimes there's more than a duplicate with random address referencing the game.

    I don't want duplicated instances, but I want independent authorities.

    I tried to change addItem with

    This._pages.addItemAt (page, 0);

    Same result.

    I also tried pagina = null before the statement new but same result

    ------

    for (var u: int = 0; u < 41; u ++) {}
    Page = new PageToSave();
    project.addPage (page as PageToSave);

    Page = null;
    }

    -----

    is a garbage collector from?

    How can we solve this problem?

    Thank you

    Hello

    From the looks of it, looks like a bug.

    Are you defining filters or performs a sort on the ArrayCollection collection? Or it's just a pure naked collection instance ArrayCollection.

    Have you tried addItemAt() and got the same result?

    Mike

  • Display collection ArrayCollection in a list and the ArrayCollection with Drag and Drop collection reorgnize

    I have an ArrayCollection collection created like this

    qaAC = new ArrayCollection();

    for (var i: int = 0; i < 10; ++ i) {}
    var o: Object = {question: ' what is "+ i +"? ", answer:" it's "+ i"};
    qaAC.addItem (o);
    }

    The ArrayCollection collection is an array of object that has properties "question" and "answer to" custimized.

    I want to put 'issues' in the ArrayCollection collection in a list. 'qaAC.question' does not return an array of questions for me.

    I have to extract the ArrayCollection collection to form a new String table, and use the new array as the dataProvider of the list of questions.

    Is there a way better and clean?

    My goal is to use a list to reorgnize an ArrayCollection collection that contains complex objects (not simple string) with Drag & Drop. Is this possible?

    Any suggestions?

    I put two lists in my example to show how the ArrayCollection collection could be displayed in two different ways. You don't have to have two lists if you do not need them.

    When you change the order of the list made with drag and drop, you change the order of the collection ArrayCollection qaAC, so all the controls that display the qaAC will also be updated to reflect the new order. You can test this in the example I posted earlier. Change the order in the list of question and you will see the order change also in the list of responses. This is because they are both bound to the same collection of ArrayCollection. If you want to behave independently, you need two separate ArrayCollections.

    Chris

  • How to access the Flex collection ArrayCollection in Action Script components?

    I have this code-

    < mx:Label text = "Style" / >
    < mx:ComboBox id = "cboStyle" initialize = "{changeSkin('skins/Plain.swf') ;} "change ="{changeSkin (cboStyle.selectedItem.data) ;} ">
    < mx:ArrayCollection >
    < mx:Object label = "Plain" data="skins/Plain.swf"/ >
    < mx:Object label = "BlueTan" data="skins/BlueTan.swf"/ >
    < mx:Object label = "Brauwny" data="skins/Brauwny.swf"/ >
    < mx:Object label = "Darknite" data="skins/Darknite.swf"/ >
    < mx:Object label = "iCandy" data="skins/iCandy.swf"/ >
    < mx:Object label = "Minty" data="skins/Minty.swf"/ >
    < mx:Object label = "SimplicityGray" data="skins/SimplicityGray.swf"/ >
    < mx:Object label = "SummerSky" data="skins/SummerSky.swf"/ >
    < / mx:ArrayCollection >
    < / mx:ComboBox >

    I would like to do instead of initialize = "{changeSkin('skins/Plain.swf') ;} "East of refers to an item in the collection ArrayCollection.  How can I do this?  I'm relatively new to Flex.  I guess that there is a way to access the ArrayCollection collection and then access the individual table entry.

    Thank you

    Aaron

    Initialize = "{cboStyle.DataProvider.getItemAt (0) .data ;}}" »

    If this post has answered your question or helped, please mark it as such.

  • Collection ArrayCollection Pass to ComboBox ItemEditor

    I need to pass the Arraycollection collection to a ComboBox ItemEditor. I thought it would be a simple process, but after all the posts, I read that it is not seeking to be. I want to understand, because I think it's probably the same my box says [Object object] after I click on the check box.

    Thanks in advance.

    ERROR: 1120: access of undefined property borrowers.

    Scenario:

    RemoteObject retransmits the query of the SWC to my manager... I know that because I see this in the debug mode and if I move the ComboBox control to the DataGrid control, it fills.

    MXML file

    < mx:Script >
    <! [CDATA]

    Import mx.controls.Alert;
    Import mx.rpc.events.FaultEvent;
    Import mx.collections.ArrayCollection;
    Import mx.rpc.events.ResultEvent;

    [Bindable]
    private var borrowers: ArrayCollection collection;

    private function initComp (): void
    {transp.getUsers () ;}

    RemoteObject meesage alert
    private void serverFault(event:FaultEvent):void
    {Alert.show(event.fault.faultString,'Server Error') ;}

    private void getUsers_Handler(event:ResultEvent):void
    {Borrowers = event.result as ArrayCollection collection ;}

    []] >
    < / mx:Script >

    < mx:Panel >

    < mx:TabNavigator >

    < mx:Form >

    < mx:DataGrid >

    ...

    < mx:DataGridColumn " headerText =" Borrower "dataField =" " BORROWER "editorDataField =" " selectedItem " id=" grdBorrower " >

    < mx:itemEditor >

    < mx:Component >

    < mx:ComboBox " dataProvider =" {Borrowers} " />

    < / mx:Component >

    < / mx:itemEditor >

    < / mx:DataGridColumn >

    < / mx:DataGrid >

    < / mx:Form >

    < / mx:TabNavigator >

    < / mx:Panel >

    Yes I forgot to mention that you need to make a public property, if you want to access it from an itemEditor.

    I hope you're doing ok.

  • Enter the filtered items in collection ArrayCollection after such FilterFunction

    It is an easy one. I have my filtering function, but rather than use main ArrayCollection collection after it has been filtered, I want to retrieve all filtered items and pass them in another collection ArrayCollection.

    private var allScreens:ArrayCollection;

    [Bindable]
    private var filteredScreens:ArrayCollection;

    private void filterFunc(value:Object):Object
    {
    If (Number (value.module_number) == 1)

    {
    Returns true;
    }
    Returns false;
    }


    private void filterSuff(value:Object=null):void
    {
    allScreens.filterFunction = filterFunc;
    allScreens.refresh ();

    for (var i: int = 0; i < allScreens.length; i ++)
    {
    If (allScreens.getItemAt (i) .module_number == 1) {}
    filteredScreens.addItem (allScreens.getItemAt (i) .filename);
    }
    }

    trace (ObjectUtil.toString (filteredScreens));
    }

    Hmm, addAll() is a function for the ArrayCollection with Flex SDK 3.3 collection, but I guess not in some versions.  A loop could perform the same function.

    var point: Object;

    for each (item in the original)

    {

    filtered.addItem (item);

    }

    Let me know if it does the trick.

    Ben Edwards

  • Help!  How to upgrade two dimension collection ArrayCollection?

    Hello

    I'm having a problem of understanding of documentation on populating a DataGrid of two dimension collection ArrayCollection. My situation is that I have a DataGrid with a bunch of information, currently stored in a two-dimensional array (digital in the first dimension and by field name in the second dimension). I also have a bunch of data streaming from an XMLSocket, which, when it happens, is analyzed, resulting in one of the fields of the table in need of update. I can do very well with the table directly, but I can't try to understand how use the ArrayCollection collection features to cross this two-dimensional structure - setItemAt() does not seem suited for this purpose? I need to trigger the effects on the relevant cell that has been updated, when I round coding, so I will try to use some structure that handles update events and others for me automatically, such as the ArrayCollection collection.

    I do not know is still the best technique to use, and the intermediate level (the ArrayCollection collection and others) could be changed completely, so if you can suggest (and illustrate, if she is as confused as this!) a better method, I would be grateful.

    Thank you

    David

    Ah.

    You must look for the item in the collection ArrayCollection. This is usually done with a loop in the collection. When you have found the item you would:

    Item.Quantity = new quantity;
    dp.itemUpdated (item);

    You must call the method of collection itemUpdated to make the signal Collection all interested parties (for example, the DataGrid bound to her) she's changed.

    A Collection can also views and ViewCursors that might be useful to have a lot of data.

  • Filter collection arrayCollection based on elements in another table?

    I have a table that contains several values: ["361 364"] = array1

    Here's the id references that change frequently.

    I have an arrayCollection collection that contains a bunch of files. I have experience of writing code to perform simple filtering of my collection arrayCollection using the filterFunction function and a simple piece of criteria.

    I am trying to reach a loop for filtering my arrayCollection collection to look at the number of element in array array1 and then filter my arrayCollection collection, leaving only entries that match the id numbers in array1.

    I am using a ".. for each" loop but I do not understand the result I need...

    Sample:

    public var matchingID:int:

    private function filterArray (): void
    {
    for each (var i: int array1)
    {
    matchingID = i;
    arrayCollection.filterFunction = checkIDs;
    }
    arrayCollection.refresh ();
    }

    private void checkIDs(item:Object):Boolean
    {
    If (item.id is matchingID)
    {
    Returns true;
    }
    on the other
    {
    Returns false;
    }
    }


    When I run this code I find myself alone with a collection consisting of single entry, arrayCollection which is the last. My brain is frozen trying to understand this one. The values and the amount of values will vary in array1 I am looking for a loop of filtering for arrayCollection collection that works no matter how many values of array1 is.

    Any creative ideas?

    You wanted to probably say array1 = [361, 364], right?

    Try this.

    TS

  • How to build a collection ArrayCollection with distinct values of an XMLListCollection?

    Hello, I'm really bad with what seems like it should be a very simple task. I have a XML of course object which consists of only the names of course. I just want to create a new collection of ArrayCollection which consists of only the names of DISTINCT/UNIQUE course in the XML list to use in a combobox control. I tried all sorts of things but nothing I try seems to work. I have a few listed below MXML.

    Any help would be appreciated! Should be simple im sure, and once I understood that, it will make my app built much easier! The value of myDistinctData is the final ArrayCollection collection. For simplicity, I left my attempts failed the loop foreach. THANKS TO ANYONE WHO CAN OFFER HELP!

    MXML CODE:

    <? XML version = "1.0" encoding = "utf-8"? >
    "" < mx:Application xmlns:mx = ' http://www.adobe.com/2006/mxml ' layout = "horizontal" initialize = "GB (); ">

    < mx:Script >

    <! [CDATA]
    Import mx.collections.ArrayCollection;

    [Bindable]
    public var myDataDistinct:ArrayCollection

    public void go (): void {}

    var myData:XML =

    < course >
    < course cid = "1" >
    < name > course 1 < / name >
    < / course >
    < course cid = "2" >
    < name > course 1 < / name >
    < / course >
    < course cid = "3" >
    < name > course 2 < / name >
    < / course >
    < course cid = "4" >
    < name > course 3 < / name >
    < / course >
    < course cid = "5" >
    < name > course 1 < / name >
    < / course >
    < course cid = "6" >
    < name > course 3 < / name >
    < / course >
    < / course >;

    for each {(thisCourse:XML var in myData)

    -SOME CODE THAT CREATES A TABLE OF DISTINCT VALUES GOING HERE?
    }
    }
    []] >

    < / mx:Script >

    < mx:Label text = "names of separate courses:" / > ""
    < mx:ComboBox dataProvider = labelField "{myDataDistinct}" = "" / >

    < / mx:Application >


    I don't know how to remove duplicates in an ArrayCollection collection or otherwise.
    But since you already have an XML and require only a text node inside.
    I go through the easiest way.

    Please take a look


    http://www.Adobe.com/2006/mxml"layout ="horizontal"initialize ="GB (); » >

    Import mx.collections.ArrayCollection;

    [Bindable]
    public var myDataDistinct:ArrayCollection

    public void go (): void {}

    var myData:XML =

    Course 1


    Course 1


    Course 2


    Course 3


    Course 1


    Course 3

    ;

    you need to do collection here ArrayCollection instance before put something u.
    this.myDataDistinct = new ArrayCollection();

    E4X selection
    var xmlList:XMLList = myData.course.name;

    for each (var xml in xmlList)
    {
    trace (XML); you will see that we have now.
    var str:String = new String (xml);
    var flag: Boolean = true;
    for (var i: Number = 0; i
    {
    If (this.myDataDistinct.getItemAt (i) == STR)
    {
    flag = false;
    break;
    }
    }
    if(flag==true) {This.myDataDistinct.AddItem (STR) ;}
    }
    }
    ]]>



  • Collection ArrayCollection clone

    [Salvation all THE]

    I decided to create a new topic for a problem in another... never mind: P

    Simple question

    I had a myOriginal (collection ArrayCollection), clone/where you want it and call the new: myCloned (collection ArrayCollection).

    myOriginal cannot be updated any more.

    This is my code so far but it stills updated the original Collection. I prove that by the loop and the trace of the original Collection.


    [Bindable] private var myData:ArrayCollection;
    [Bindable] private var myCloned:ArrayCollection;

    private void resultHandler(event:ResultEvent):void {}
    myData = event.result.db.data; Original data
    cloneOriginal(); Perform cloning
    myData.disableAutoUpdate (); It is wrong... in the 'core' still updates... I think so..
    }


    private function cloneOriginal (): void {}
    var myCloned:ArrayCollection = new ArrayCollection();
    for (var c:int = 0; c < myData.length; c ++) {}
    myCloned.addItem (myData [c]);
    }


    Thanks in advance... ;)
    Base on...

    Thank you for using Clara, after some time, I've done the correction :)

    Final code, thanks to anyone are [[]]:

    "- How do I clone an ArrayCollection collection.

    Import mx.utils.UIDUtil;
    Import mx.collections.ArrayCollection;
    Import mx.rpc.events.ResultEvent;

    [Bindable] public var myOriginal:ArrayCollection;
    [Bindable] public var myCloned:ArrayCollection = new ArrayCollection();

    FLEX THINGS...
    public void objectCopier(toAdd:Object):Object {}
    var addME:Object = clone (n);
    addME.mx_internal_uid = UIDUtil.createUID ();
    return Alain;
    }

    public void clone(source:Object): * {}
    var myBA:ByteArray = new ByteArray();
    myBA.writeObject (source);
    myBA.position = 0;
    Return myBA.readObject ();
    }
    END

    public void resultHandler(event:ResultEvent):void {/ / result of a HTTPService...} For example, of course...
    myOriginal = event.result.db.data;
    myCloned = clone (myOriginal); THE ACTION IS HERE

    hList.dataProvider = myOriginal; Stay forever with these data
    hList2.dataProvider = myCloned; Table working on it
    }

Maybe you are looking for