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

Tags: Flex

Similar Questions

  • 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

    }

  • 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

  • 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));

  • 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

  • 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) ;}
    }
    }
    ]]>



  • Problems on collection ArrayCollection and DataGrid

    Hi people!
    I have a problem of ugly...
    in the my application, I have a datagrid named DG and its dataprovider is bound as an ArrayCollection called AC collection.
    A result of the query contains the AC...

    Ok.. So far so good...

    the problem just when I try to select an object in AC by name...
    AC has done like this:
    0 objecthjh324jghf7
    1 objectd5674567
    2 objectAaagohrtt
    3 object4534c45jg

    so I can choose an object by its index (0,1,2,3... ecc)
    but not by name (objectxxxxxx)

    I might want the names of the objects are the name of the column (such as ID, NAME, NATION, phone ecc)

    is this possible?
    now, if I want the object ID in KT (i.e. the ID column in my datagrid DG), I have to check with a loop from 0 to col_number to find some AC (loop_value) USER.USER

    EDIT
    example:
    If my first column of the DG's 'id', I want to use something like "myDataGrid.columns ('id')", now I have to use this "myDataGrid.columns (0)»
    EDIT
    Help me please! : D :D

    PS: Sorry for my bad English... ^ _ ^

    "Amy Blankenship" wrote
    in the message news:[email protected]...
    >
    > "123qweads" wrote in message
    > news:[email protected]...
    > okay...
    > maybe I made a few mistakes in my last posts.
    > I'll try to explain better my problem...
    >>
    > my problem is to give a name to myDG.columns
    > (before I talk about DATAGRID...) Sorry! I'm guilty... but the problem
    > is
    (> the same)
    >>
    > myDG.colums is a TABLE and I can get you an object index for example
    > myDG.colums (1) .dataFiled or myDG.colums (2) .visible ecc...
    > If I can give a name for the elements of each array, I could take an object by
    > its
    > name for example myDG.colums (ID) .dataFiled or myDG.colums (PRICE) .visible
    > ecc...
    >>
    > Today I discovered how give an object name in the ARRAYCOLLECTION collection... in
    > This
    > way
    > var o: Object = new Object();
    > o [namecol1] = myObject1;
    > o [namecol2] = myObject2;
    > myAC.addItem (o);
    >>
    > works very well and myAC I find namecol1, namecol2, namecol3 instead
    (0), (1), (2) but when I convert collection ArrayCollection in table online
    >>
    >>
    >>
    > I lost all the name of the object... and remains only the information from the object (i.e. the)
    > column
    (> information as dataField, visible, headerText, etc.)
    >>
    > WHY DO I WANT TO DO?
    > I want to write a function that hide certain columns...
    > now, my function is O (n * m), where n< m="" but="" if="" i="" can="" resolve="">
    > problem
    > my function become o (n)
    > and it's a good thing
    >>
    >>
    >>
    >>
    > BAD! (now)
    > public void HideColums(col:Array,_myDataGrid:DataGrid):void {}
    > for (var x: int = 0; x)< col.length;="">
    > for (var i: int = 0; i< mydatagrid.columncount;="">
    > If (myDataGrid.columns .dataField ==
    (> col [x]) myDataGrid.columns
    .visible = false;
    >> }
    >>
    >>
    > GOOD (after your explanation)
    > public void HideColums(col:Array,_myDataGrid:DataGrid):void {}
    > for (var x: int = 0; x)< col.length;="">
    > myDataGrid.columns [col [c] m:System.NET.SocketAddress.ToString ()] .visible = false;
    >> }

    try (somewhere in your result handler that takes care of your objects):

    var sampleObj:Object = myQuery [0];
    columnNames = []; should be set on a global scale
    for {(prop: String en sampleObj)}
    columnNames.push (prop);
    }

    now:

    public void hideColumns(columnsToHide:Array,_myDataGrid:DataGrid):void {}
    for (var x = 0; x)< columnstohide.length;="">
    myDataGrid.columns [columnNames.indexOf (columnsToHide [x])] .visible = false;
    }
    }

    Note This is not tested, but it's the first thing I would try

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

  • 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

    
    
      
        
      
      
      
        
          
          
            
            
            
            
          
          
            
              
                
                  
                    
                      
                        
                          
                        
                      
                    
                  
                
              
              
              
              
            
          
          
        
        
          
          
            
              
              
              
              
            
          
          
        
      
    
    
  • 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

  • To loop through a collection arrayCollection

    I need to:

    1 loop through a collection of table,

    2. Select a specific string in this collection

    3 extract a url this string

    4. Insert an additional string to the table with that extracted url

    The code I use to date is:

    " < = xmlns:mx mx:Application ' http://www.Adobe.com/2006/MXML "layout ="absolute"minWidth ="1024"minHeight ="768"> "
    < mx:Script >
    <! [CDATA]
    Import mx.collections.ArrayCollection;
    Import mx.rpc.events.ResultEvent;

    [Bindable]
    private var resultArrayCollection:ArrayCollection;

    private void doSearch (e:MouseEvent): void
    {
    twitterSearch.url = " " http://search.Twitter.com/search.atom?q=LDN ";
    twitterSearch.send ();
    }

    private function onResult (e:ResultEvent): void
    {
    resultArrayCollection = e.result.feed.entry as ArrayCollection collection;
    }

    []] >
    < / mx:Script >

    < mx:HTTPService id = "twitterSearch.
    result = "OnResult (Event)" / > "

    .....


    the HTTP service pulls in data from Twitter for example search http://search.Twitter.com/search.atom?q=LDN .

    Any help would be received with gratitude.

    Please remove the quotes-"[count].

    for(var count:int = 0; count < resultArrayCollection.length; count++) {
         trace(resultArrayCollection[count].title);
    }
    
  • 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

Maybe you are looking for