Flex :: Binding To Arraycollection Does Not Work?
May 23, 2010
I am using flex SDK 3.5. I have model.as and in it i have an ArrayCollection (name it arr_mod) which is Bindable.
From my mxml i link to this arr_mod in three places:
1) in DataGrid i set dataprovider={arr_mode} ...
2) in Button i add new item to the arr_mod this way: mx:Button .. click = "{arr_mod.addItem(new Item)}"
3) in textBox i want to add mx:TextBox text="{mySpecialCounterFunc(arr_mod)}"
note that in the Script of mxml arr_mod is Bindable as well as in the class definition in model.as
The problem is, that when clicking on button, mySpecialCounterFunc is not called! it should be called, since i use {} and this should listen to changes in arr_mod (a change that was made in the button should cause a new item to be added.. and than the listener to respond). While The DataGrid is updated correctly! By the way, if i change arr_mod to simple String or Int it works.. i.e. mySpecialCounterFunc is called Why??
View 1 Replies
Similar Posts:
Apr 15, 2010
I have a datagrid that gets its data from a webservice.When data from the webservice is retrived it calls the following function:
private function onListReg():void
{
arrRegOld = WSAutoreg.list.lastResult as ArrayCollection;
arrReg = WSAutoreg.list.lastResult as ArrayCollection;
[code].....
The intent is when I hit a update button, it compares arrRegOld with arrReg and see if any values have changes. The problem is whenever I change values on the Datagrid it changes on both the dataProvider and on both ArrayCollections.What should I do so that the binding applies only to one ArrayCollection?
View 1 Replies
Jun 29, 2010
I am trying to bind an ArrayCollection result coming in from the server to my DataGrid
created dynamically in AS. The result data is not getting Displayed in the Grid.
var dg:DataGrid = new DataGrid();
dg.width=650;
dg.dataProvider=someArrayCollfromServer;
I am adding the dgColumn as runtime based on some data from a XML and it is the same as defined in below static format. But if I use the same code and create the DataGrid as a Flex Component as below, it works fine.
<mx:DataGrid id="dg" width="100%" height="100%" dataProvider="{someArrayCollfromServer}">
<mx:columns>
<mx:DataGridColumn dataField="Value" headerText="Value"/>
<mx:DataGridColumn dataField="Code" headerText="Code" />
</mx:columns>
</mx:DataGrid>
This works fine. Is there some functionality or implementation different as far as DataGrid is concerned in Flex and AS.
View 1 Replies
Jul 26, 2011
I have an ArrayCollection containing bindable objects. I would like to access them in multiple places like below (there's only one label for clarity). How can I achieve that?hould I write some kind of wrapper for ArrayCollection dispatching special event (which?) catchable by Flex event mechanism.
<?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"
[code]......
View 2 Replies
Jul 9, 2010
I'm trying to implement a binding between some custom-built models and just beginning to dabble with the whole mx.binding.* collection. I tried this simple, stripped down example, but can't get the binding working correctly. Can somebody tell me where I'm going wrong?
[Code]...
View 3 Replies
Oct 1, 2010
Does data binding work with the UITextField? Unfortunately, I'm getting the variable instead of the bound data.
[Bindable]
public var myString:String;
in a function, where tf is a UITextField:
myString = "blah blah blah";
blah blah...
tf.text="{myString}";
It's giving me {myString} instead of its data.
View 1 Replies
Apr 11, 2007
The Flex application below generates the compiler warning: Data binding will not be able to detect assignments to 'dp'. This seems correct since the variable 'dp' is not a bindable property (there is no [Bindable] metadata tag). I have added a button which appends items to the back of 'dp' when it is clicked. Although the compiler warns me that I will not see changes to 'dp', the list shows the new item every time the button is clicked! I do not understand why I can see new items appear in the list. Can someone explain why this still works although 'dp' is not bindable?
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">
<mx:Script>
[code].....
View 1 Replies
Jan 19, 2011
I have an arrayCollection that is populating a chart. Can I bind the array items to vars that I can then modify?
private var ratingAC:ArrayCollection = new ArrayCollection([
{ Rating: 10 }, // [0] positive
{ Rating: 20 }, // [1] neutral
{ Rating: 60 } // [2] negative
[code]....
View 1 Replies
Jun 23, 2011
I have a somewhat complex parent/child hierarchy object that I need to display in a tree format that dynamically updates. To pass it into the tree as a dataprovider I convert the top level parent into an Array and then into an ArrayCollection. The problem there is if anything changes in the hierarchy the tree isn't dynamically updated unless I regenerate the dataprovider.
EDIT: I didn't have much code shown so I just tried to include the skeleton version of how everything is being used below, the tree works fine and even when I remove/add nodes the changes are evident but the vertical scroll bar isn't updated(doesn't resize) and if I scroll the tree will get out of whack and may display whitespace at the bottom of the tree where the item was just removed.
I tried just a plain bindable ArrayCollection test object with multiple levels and it updates properly so I think my tree is fine it's just how I'm trying to bind the dataprovider that I'm having the issues.
AS3 Class 1 - Object that can have plenty of child objects of itself by calling insertCustomObject()
public function CustomObject() {
}
public function insertCustomObject(customObject : CustomObject) : void {
[Code].....
View 1 Replies
Oct 27, 2009
I'm new to Flex and am using TileList bound to an ArrayCollection. The array collection is empty at load time, and then updates with the results from am HTTPService call. The problem is that the item renderers aren't being rendered as expected, I'm guessing because there was no data when they were first rendered at load time. Here's simplified example:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script>
[code].....
View 2 Replies
Oct 13, 2009
Is it possible to specify MXML-esque "binding strings" in ActionScript?For example, I want to be able to do something like:
MXMLBinding(this, "first_item",
this, "{myArrayCollection.getItemAt(0)");
MXMLBinding(this, ["nameLbl", "text"],
[code].....
View 6 Replies
Aug 22, 2009
I am having problem when i get only one row from httpservice.
I am using this to fill the arraycollection:
ActionScript Code:
public var arrColl :ArrayCollection;
private function listResult(e:ResultEvent):void
[ode]....
When i have more than one row everything is ok but when http service return me just one row this just won't work and var arrColl is not populated so my datagrid is not showing anything.
View 1 Replies
Nov 10, 2010
I did suppress warnings in flex compiler using "-show-binding-warnings=false". But what I am interested to achieve is to suppress run time warnings (especially binding warnings - since I am getting data in model mostly in XML structures and it is fine for me if its unable to bind to its nested child nodes) in console (I am working on flex on Eclipse with the flex plug in). Is there a way to achieve it?
View 1 Replies
Sep 14, 2010
I have this variable in Model class:[code]I've used BindingUtils to get notified when the XML changes:[code]Function onChange gets triggered when I assign an XML to the variable, but not when I change some attribute of the XML: Model.getInstance().someXml.@attr = "newValue";
View 1 Replies
Oct 7, 2011
I have a advanced datagrid and populating some data by using arraycollection. And i am filtering the arraycollection, the arraycollection index got changed.
Arraycollection:- [0] - name: abc
[1] - name: hello
[2] - name: hello1
[3] - name:hai
after filtering the arraycollection as 'hell' , the array collection is displaying like the below:
Arraycollection:-
[0] - name: hello1
[1] - name: hello
Can i know the reason why the index got changed after filter it?
* no server side code for filtering. it is only flex side filtering.
View 2 Replies
Oct 8, 2009
first one shows playheadtime of videodisplay and another is also used for same purpose. the difference is that when we are in add mode(decided from a flag variable) both should show current playheadtime using binding. but when we are in edit mode(again decided from flag) the latter label should remain static, to be more specific, the value retrived from database.how can I do that using actionscript. I tried ChangeWathcer but I found it a bit tricky. Is there any other simpler way or am I missing something. following is my code.
private function init():void
{
if (queFlag == 'a')
[code].....
View 2 Replies
Mar 12, 2010
I want to load key/values configuration pairs stored in XML file. To bind a collection of data i know i need to use the ArrayList class, but the problem is that i want to be able to bind the loaded values using their corresponding keys and not by their indexes in the ArrayList object. For example i want to be able to do this :
[Code]...
So the question is how to bind the key/value pairs loaded form XML. I don't want to go manually set variables, i want to bind them so when they are loaded the are set automatically. Did anyone had to do something like that ?
View 1 Replies
Apr 7, 2010
I have a flash app using the flex framework - I would like to bind a display object textField with data from my dataModel.
How do I do this without the flex binding brackets "{ }"
View 1 Replies
May 3, 2010
I'm having some troubles with binding data. I have an application that contains a viewstack of components. Let's say I have comp1, comp2 and comp3 inside the viewstack. Each component, has its own data class --> comp1Data.as, comp2Data.as and comp3Data.as. All values in each component are binded to the corresponding data in it's data object.
A click in a control in comp1 leads to comp3, the same goes for comp2. Clicking a control in comp2 leads to comp3. When going from comp1 to comp3, comp3Data.as is initialized and and comp3 displays the binded values. When going from comp2 to comp3, comp3Data.as is also initialized but the binded values are not displayed...
[Code]...
View 1 Replies
Aug 20, 2010
I'd like to add a derived property to flex:[code]However, derived won't update when I change a or b.Is there a better (faster) way to make derived update than giving a and b setter methods which invalidate it?added keyword "get".This makes more sense now, I hope.
View 3 Replies
Sep 9, 2010
I have created a really simple example for what I am trying to achieve, which you can see below.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" initialize="init()">
[Code]....
So it is important for me to bind to the children().
Is this possible and if not, does anyone know how I will get round this issue?
View 1 Replies
Dec 23, 2010
Is it possible to bind a property (don't know which) of the mx:Image control, so that it is (should be) possible to get in form of a bytearray? (using Flex 4) i have to forward the bytearray to a WCF service to be stored and afterwards retrieved!
View 2 Replies
Aug 26, 2011
I have this Code:
BindingUtils.bindProperty(trollImage, "width", vslider, "value");
BindingUtils.bindProperty(trollImage, "height", vslider, "value");
[code]......
View 2 Replies
Dec 13, 2011
i have in my main application:
private var vm:VideoManager;
protected function init():void{
vm = new VideoManager();//create a video manager instance
}
and i want to pass the vm instance to another component so i do:
[Code]...
View 2 Replies
Jul 17, 2010
I've been kinda stuck in trying to organize data and bind them to a Repeater in one my applications.What I did at first, was to save an array of arrays, so that I could've accessed any value very easily. But then I realized that I needed to bind them to a Repeater, so I had to switch to an ArrayCollection of arrays. But the Binding issues weren't solved, since there are still arrays (not bindable) inside the ArrayCollection.Below an example of what I want to do:
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable] public var arr:ArrayCollection = new ArrayCollection(
[code]....
the traces show that the array size changes, but the repeater doesn't update.
View 1 Replies
Sep 5, 2009
I have several components where I want to enable buttons based on passing a username to a function. I want to dynamically bind the "enabled" property on a button so that if the "somethingChanged" event fires, a button may become enabled or disabled. But, I'm not sure where to fire the "somethingChanged" event. It's possible that I may need to fire the "somethingChanged" event from several places in the application. Is this possible with a bound static function?
EventManager.as
public class EventManager():void {
[Bindable(event="somethingChanged")]
public static function hasAccess(myVal:String):Boolean {
}}
[Code] .....
View 1 Replies
Nov 20, 2009
I am trying to dynamically bind the visibility of a checkbox control to a data field of a repeater as follows.
[Code]...
View 1 Replies
Nov 23, 2009
I need to bind a property to an edit control and have the control write its value back to the same property. The problem is, I'm setting the source value before the control is created:
<mx:Panel>
<mx:Script>
<![CDATA[
[Bindable] public var editedDocument: XML;
[code].....
View 6 Replies
Mar 30, 2010
I'm using Flex with Cairngorm framework.I have a custom component which I create like this:
<components:FriendSearchPaginator id="searchResultsPaginator"
paginationElement="{_model.findFriendsPaginationElement}"
visible="{_model.friendsSearchResultsPaginatorVisible}" />
Where the findFriendsPaginationElement is inside the model locator:
public var
[Bindable]
findFriendsPaginationElement:PaginationElement = new PaginationElement();
Inside the custom component I have button that uses a property of findFriendsPaginationElement object:
<s:Button id="previousButton"
label=" prev "
click="paginateSearchResults(false)"
enabled="{_model.findFriendsPaginationElement.more_previous}"/>
But I get a warning from Flex that the binding wouldn't work that way and it doesn't. It works the first time I load up the component but every time I change findFriendsPaginationElement it doesn't reflect on the component. Do you know how I can go about doing this? (making changing a value in the binding variable changes the status of an element inside a component?)
View 1 Replies
Jul 21, 2010
I'm binding two AutoCompleteModified objects to one another; meaning you type in one and it selects the correct object in the other. It works fine when I define it in MXML: However, a user can add a new row to a Grid and then I set up the binding and objects via actionscript and it gives an 'undefined' error:
ChangeWatcher line 427/wrapHandler.
var innerHBox:HBox = new HBox();
var dtc_acm:AutoCompleteModified = new AutoCompleteModified();
dtc_acm.dataProvider = data2;
dtc_acm.labelField = 'id';
var cp_acm:AutoCompleteModified = new AutoCompleteModified();
[Code] .....
If I only keep it 1-way binding then it works fine. But both throw this error. Is there something about not only doing it 2-way in actionscript, but adding components that aren't on the stage yet?
View 2 Replies