Arraycollection - Flex 3 Removing Items From An Array Collection When The User Clicks A Button And Reflecting That In A Repeater
May 18, 2011
I have an arrayCollection with the following structure:
[Code]...
the AC is defined as follows:[Bindable] private var projectErrorsAC:ArrayCollection = new ArrayCollection;
I'm using this AC in a repeater to display each error. After each error is shown, I've placed an "Accept" and "Deny" button. Once the user clicks either one of these buttons, I'd like to call a function that removes the particular error from the AC. Here's what I have so far:
I want to iterate over an ArrayCollection in Flex while there can be items added and removed.
Since i didn't find a way to use a "classic" Iterator like in Java, which would do the job. I tried the Cursor. But it doesn't really work the way i want it to be ;) So how do I do it nicely ?
var cursor:IViewCursor = workingStack.createCursor(); while (!cursor.afterLast) {
I want to give an array index to array collection let say 205 when it is started is it possible to do so in flex or any alternate of this.actually I need to index the objects with a specific no, in 2D array collection
say
205 a c d g f d 268 s g h g f f 805 d g h h f f d
where integers are indexes and alphabets are object referenced by these integers
ListCollectionView is often promoted as a great way to daisy-chain different views of the same data. You have some source collection and then use ListCollectionView + filterFunction to wrap the source data and present a subset of that source collection. When the source collection changes (either adds or removals), the chained LCV gets updated automatically. However, if the filterFunction for the source collection changes, it does not appear to propagate to the chained LCV:
[Code]...
At this point, I would expect justMatts to receive a CollectionChangeEvent and rerun its filter. Since all Matts have been filtered out of the source object, justMatts would be empty as well. However if you look in ListCollectionView code, they don't handle a CollectionEventKind.REFRESH which is what gets fired when source gets a new filter applied. Am I doing something wrong here (using wrong class, etc) or does nothing in Flex support the changes to source filter.
I can get this working as I expect it to by manually dispatching a CollectionEventKind.RESET on source, but I was hoping to not have to subclass anything.
I have an ArrayCollection that is the dataProvider for a spark.components.List, which has allowMultipleSelection="true". There is a "Remove Selected Items" button which initiates the removal of all the selected items from the ArrayCollection upon being clicked.
I currently use the following method:
myList.selectedIndices.sort(ascendingSort); // remove items, counting backwards for (var i:uint = myList.selectedIndices.length; i > 0; i--) { myArrayCollection.removeItemAt(myList.selectedIndices[i-1]); }
where ascendingSort does what you expect ;). It works fine, and I know that it will always work.
However, I did take note that if I neglected the sort altogether, to my surprise the removal still worked. The reason for this turned out to be that, when the removeItemAt is called, the selectedIndices are correspondingly updated.
So my question is: Can one rely upon a removeItemAt call updating the values in the selectedIndices? or might that turn out to be different between runtimes and/or Flex SDK versions?
I am building a flash application using flex. From time to time, I see an issue in IE 7 and 8 where the user logs into the site and the browser content pane is completely grey and the entire page (html, javascript and flash) won't load until the user clicks the X (Stop) button next the address bar. As soon as the X is clicked, the html loads and then the swf file loads immediately.
This doesn't happen for me or any other developers on the project so it is very hard to diagnose. The users are all using the latest flash player. The only difference between our setups that I can think of is that we have the debug version of flash player and they probably do not.
I have a problem with a dynamic video player that I have created in flash. The video player is "SCORM" compliant so that when the user clicks the "exit" button a class file is called to mark the user complete in an LMS.I have tested the SCORM Code previously and it works with out issue. Usually I have the completion code embedded in an Actions Layer of the movie. This is the first time I have attempted to call the completion status in a class file, I have added a "trace statement" when the movie is tested within flash it runs the trace statement properly, but when uploaded to the LMS environment the course does not complete properly
I am trying to swap two items in an ArrayCollection with this code.
[Code]...
When debugging the code I can see that curItem and swapItem are the correct objects, but when I do my first setItemAt, it replaces the one I wanted but also one that I didnt want.
After applying a numeric sort to my dataprovider(Array Collection), I can not reorder the items via a tilelist. Do I need to remove the sort from the arrayCollection. If so, is it just a case of setting collection.sort = null ?
var sortField:SortField=new SortField(); sortField.name="order"; sortField.numeric=true; var sort:Sort=new Sort(); sort.fields=[sortField];
In my flex application im using two datagridfirst datgrid is for items collectionssecond is for bank details.if i click one row in first datagrid (which has the items collections)...a unique code is taken from the grid(which is primary key).then, i have to select two or more banks using itemrenderer checkboxes in second datagrid(which has the bank details)ow, have to bind the bank details(one or more banks) with that one primary key in first datagrid. to an single array collection... and have to show it in another new datagrid(thirdone)
How do I remove an items from a data bound array? My code follows. for(var i = 0; i < listBox.selectedIndices.length; i++) { var toRemove = listFiles.selectedIndices[i]; dataArray.splice(toRemove, 1);
Here is my swf. The Add Photos works except when you remove items. [URL] Add 3 photos different. Remove 2nd photo. Add a different photo. SWF adds the 2nd photo to the end.
Here is my code private function OnSelectFileRefList(e:Event):void { Alert.show('addstart:' + arrayQueue.length); for each (var f:FileReference in fileRefList.fileList) { var lid:ListItemData = new ListItemData(); lid.fileRef = f; arrayQueue[arrayQueue.length]=lid; [Code] .....
I'm converting some old Director/Shockwave animations to Flash, and I'm setting up a navigation system. I have a simple animation that runs from from 1 to frame 110, and I'd like it to loop until the user clicks a button. The timeline goes on beyond frame 110 with other stuff. In an "actions" layer in frame 110, I have the following
gotoAndPlay(1);
I thought that this would lead to the looping, but it doesn't. The movie just moves on beyond frame 110. Just as a test, I put the following at frame 110 instead.
stop();
and when I test the movie, it doesn't stop. The commands don't seem to be seen.
I do not know why but I see that itemclick event on a menubar do not fired unless you click a sub item. What is the clean way to handle clicks on menuitems which are on the top level and do not have sub menu items. For example I want to fire an event whenever MenuItem B is clicked.
I am using Adobe Flash Builder 4 Premium. I have a mx:DataGrid and a s:TextInput, and I am trying to set up a search box that filters the DataGrid on each key press.his page shows a nearly perfect example of what I'm trying to do, except that I'm setting this up in a s:TitleWindow, which is brought up as a popup using the PopUpManager. The list I'm trying to filter can be very large. It is a list of usernames, fetched from a MySQL database via PHP. Since it can be so large, I want the list to be populated once in the main application and then referenced in the popup window so that it doesn't have to fetch all the usernames each time the user opens the popup.I have all of this working fine for the first time you bring up the popup, but if you close it and bring it up again, I get this runtime error:I also get this error if I attempt to set the filterFunction back to null just before closing the popup.See sample code below:
Main Application: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
I have a label inside a repeater (rptInfos), and I have an arraycollection (Texts) that has the translations. The "Texts" content is changing when I change the language, and normally I use {Texts.getItemAt(219}} for example when I need a translated text. But in the repeater I have a translateable column, so I want to use it like this:
<s:Label text="{Texts.getItemAt(rptInfos.currentItem.DictID as int)}" />
but it says "Syntax error: expected a definition keyword (such as function) after attribute , not target".I wanted to translate it in the labels creationComplete event, but than I can forget about binding, so only when reloaded can I have the content to update.
I'm trying to use a flexlib schedule viewer in my application. I want to have it so that when I click on a scheduled event, it calls a function in my main app (that will allow me to edit the event). But there doesn't seem to be any specific function for anything like this built into the class ie no event dispatched when I click on an event.
I can use the 'click' function to detect that the item has been clicked on.. and have tried something like this:
[Code]...
This method isn't very reliable because if it only works the first time.. once an item is selected, it stays selected so all following clicks on the item fulfills the condition.
Is there any way to determine whether an event was being clicked on? Or do I have to extend the component and add some sort of clickEvent when an event is clicked on.
I have a problem when creating a ViewStack, with a repeater along with other components (i.e. vBox) inside the ViewStack. The repeaters get placed at the bottom of the view. Despite the repeater is listed before other components, it is placed at the bottom.Is there a workaround where I can get the repeater drawn before the other components?Here is an example:
I have an array, crewPositionsAC that contains a list of position abreviatations - EP, PR, DR, WR, and so on. These positions are read in through an XML file each time my flex application loads. Also being populated from an XML is a project. Within a project, there are positions (a student assigned to a type of position listed within crewPositionsAC). These positions are not necessarily in the correct hierarchy order dictated by crewPositionsAC. I have all the positions within an ArrayCollection (positionsAC) with the following structure:
Then, the user can click a button to add another position. When the "Add Crew Member" button is pressed, the user is presented with a list of possible positions to add. Currently, I simply add another array to positionsAC. This results in the recently added crew member to placed on the bottom of the list. I need to take positionsAC and reorder it based on it's [2] item (role) based on the hierarchy defined in the crewPositionsAC. crewPositionsAC has the following structure:
crewPositionsAC: [0] = EP [1] = PR [2] = DR [3] = WR
* continue until all possible position types are listed
I have a 400 x 300 video on frame 20 when a user clicks a button named double_btn I want them to go to frame 21 with the video still playing but double the size. Any ideas on how to do this?
I have a portfolio_mc that is inside of a content_mc (stage->content_mc->portfolio_mc). There are 3 buttons that take the user to an appropriate frame designated by a frame label and this loads up an FLV. The problem is that when I click on any of the navigation buttons on the main timeline, the FLV that is currently playing, is still playing (I can hear the audio). How to stop this.
Here is the code used for controlling the buttons in the motion_mc timeline: stop(); var naviArr:Array = new Array(btn01, btn02, btn03); btn01.addEventListener(MouseEvent.CLICK, navigate); btn02.addEventListener(MouseEvent.CLICK, navigate); btn03.addEventListener(MouseEvent.CLICK, navigate); [Code] .....
I have an opening screen which asks the user to enter the first name and then they click the "start" button.This then loads an external swf into it and it starts a quiz on a timer.All that works except that the timer starts sometime during opening swf.I'm not sure if it's when the main swf is loaded or if when the user clicks in the input box but it is definitely not when the user clicks the "start" button like I have programmed.I even tried to stop the timer until the user clicks a button on the second swf (the external swf that is loaded into the main swf)[code]In the loaded swf I have a clock_mc that holds the timer.the first frame has a simple stop(); and the second holds all of the code that makes the clock run.I then have code setup so that when the user clicks a button the clock_mc.gotoAndPlay(2)[code]
I am using an array to load flvs when a user clicks a button, however the scrubber (seek bar) doesn't reset back to the beginning of the next video and the play button turns to a pause (meaning the user has to notice that and click the play button, which I don't want them to have to do). Is there a reset function that I can use for the seek bar and a way to keep the play button on and not switch itself to pause?
I have a few flv component instances on different frames. When you click a navigation button the current flv should stop and it takes you to a new flv on a different frame. But the previous one keeps playing. How do I stop the current one playing when the button clicks?
I am new to actionscript 3. I have created buttons with up/over/down states. The button changes colour during the over/down frames.How do I keep the over or down state active until the user clicks another button?
Right now when the user puts the mouse over the buttons, they change colour, but it goes back to the original colour once they click off. I would like it to remain on the changed colour so that the user remembers which button s/he's pressed until the another one is clicked.I came up with the following code in actionscript 3 and got it to partially work:
So when it's in the down state, I get the transparent state and stays there. But how do I get it back to normal when the user clicks on another button?
I am using Flex 3 and make a call through a RemoteObject to a Java 1.6 method and exposed with BlazeDS and Spring 2.5.5 Integration over a SecureAMFChannel. The ActionScript is as follows (this code is an example of the real thing which is on a separate dev network);