Flex :: Resizing List Components Upon DataProvider Change
Jul 10, 2011
I have a component that contains a list that implements a custom renderer. I use this component as a tooltip, keeping one in memory and just altering the databindings as necessary.
Something like this where TTComponent is a class that extends Canvas:
<s:TTComponent>
<s:BorderContainer>
<s:List id='lstItems' dataProvider="{data.Items}" width="50%" borderVisible="false" contentBackgroundColor="#222222">
[Code]....
Now, what happens is when data containing many items is set to tt.data, the list resizes itself larger and displays fine. However, after this, if data containing few items is set to tt.data, the component momentarily displays larger than it needs to be, then resizes itself smaller.
What I'd like to do is have the component resize itself before it displays, so I don't see the resize on screen.
View 1 Replies
Similar Posts:
Mar 13, 2012
In flex 4.5, I have an application that has a BorderContainer that loads a spark list (mxml style - _myList and the borderContainer is stored in a library outside of the parent application) that loads an arrayCollection with an itemRenderer (I should note said itemRenderer is not an inline renderer - on selection of an item in the list, the itemRenderer expands, loads a particular control within the item renderer based on data passed from the selected item in the list) and allows the user to perform a search. This works all well and good on startup/load, until I try to change the dataProvider for the list (my app allows users to switch data sources which then creates a new dataProvider with new variables). I have tried:
[Code]...
View 1 Replies
Jun 30, 2011
I have a simple list and a background refresh protocol.When the list is scrolled down, the refresh scrolls it back to the top. I want to stop this.I have tried catching the COLLECTION_CHANGE event and validateNow(); // try to get the component to reset to the new datalist.ensureIndexIsVisible(previousIndex); // actually, I search for the previous data id in the IList, but that's not importantThis fails because the list resets itself after the change).I hate to use a Timer, ENTER_FRAME, or callLater(), but I cannot seem to figure out a way.The only other alternatives I can see is sub-classing the List so it can catch the dataProviderChanged event the DataGroup in the skin is throwing.
View 4 Replies
May 25, 2010
I'm using a List which I need to be empty at the start. I'm adding items to it as needed by clicking a button. Since it's empty, I haven't added a dataProvider property
<s:List id="thelist" itemRenderer="listIR" />
To add an item, I'm adding it to the dataProvider directly
thelist.dataProvider.addItem()
but when I do that, it gives me this error
#1009: Cannot access a property or method of a null object reference.
Also I have a debugging Alert in the listIR itemRenderer itself and I see that when the list is created, I get that alert twice as if 2 itemRenderers were created, even though the list is supposed to be empty at the start.
How do I start with an empty dataProvider and add items smoothly to it?
View 2 Replies
Oct 26, 2010
In Flex I can create an ItemRenderer to represent each item in the Lists DataProvider but how do I access the instance of the ItemRenderer via the DataProviders Object? Something like myList.getItemRenderer(dp.getItemAt(10));
View 2 Replies
Feb 3, 2011
Is there a way so that every time the list is changed (data add, data deleted, etc.), the list will re-update or "refresh?"
View 2 Replies
Jan 27, 2012
I have some xml, I want to give it to a List dataprovider, but based on an attribute match.
My Xml
<components>
<rows name="general">
<objects name="Start" image16="startflag16" image32="startflag32" class="someclass">
[Code].....
And I am trying to do something like below, If I remove (@name=="general") from below line it gives me all property
listView.dataProvider=list_components.rows(@name=="general").objects.property;
But it gives me error, so basically I want to get all property based on rows attribute name matching general
View 1 Replies
Feb 21, 2012
I have this error. I am very very new to the Flex world. I have this function which returns an ArrayList.
public function createDataProvider():ArrayList {
....
return new ArrayList(imgArray);
}
Later, I use it here:
<s:List id="pubmapList" dragEnabled="false" dropEnabled="false" dragMoveEnabled="false" dataProvider="{createDataProvider}">
Here, I got an error saying: implicit coercion of a value of type to an unrelated type mx.collections.ilist. I thought the IList implementation includes ArrayList.
View 1 Replies
Apr 1, 2011
I am using % values for height and width properties of my components, so they would look some what similar in different screen resolutions. But when the aspect ratio changes or on Wide Screen monitors, my components are looking very badly as in not consistent and somewhat stretched.
View 2 Replies
May 4, 2011
Objective:I would like to pass Skins to an itemRenderer (which is a Button) of a List, and be able to skin every button in that List.This is what I have:
List:
<s:List itemRenderer="renderers.ItemRenderer" dataProvider="{collectionWorkspace}" />
ArrayCollection:
<s:ArrayCollection id="collectionWorkspace">
<comp:Layout1 />[code]...
I get an error (fixed for clarification):Error: Skin for Application....Button1 cannot be found.
View 1 Replies
Jun 3, 2010
I have an mxml panel in which I'm using a repeater. The panel can be resized horizontally and I would like for the repeated components to resize together with panel. Here is a simplified example of how things look like:
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" ...>
<!-- scripts and some controls -->
<mx:VBox width="100%">
[code].....
View 2 Replies
Dec 21, 2010
what I need to do is combine 5 arrays with 5 individual strings (which have come from a JSON webservice) into one single list item in FlashBuilder Burrito. [code]I've pulled these out successfully and each one traces in the debugger, although as I need them all in the same list I'm struggling to establish them as a dataprovider together.If I push the strings and arrays together it is impossible to read properly, as the main Titles are at a different level to any descriptors for the products which are in the arrays.
View 1 Replies
Jan 2, 2011
I have a Spark List container whose dataProvider is bound to a result set coming back from a RemoteObject call. Pretty standard stuff.
<s:List id="list" dataProvider="{model.stuff}" width="100%" height="100%"
selectedIndex="@{selectedSlider.value}"
itemRenderer="{stuffRenderer}">
</s:List>
The selectedIndex is associated with an HSlider, but that is not the problem. My issue is that I would like to automatically select a certain "preferred" element from the list (only initially...to guide the user).
I tried to do that in a creationComplete event but my data hadn't shown up yet...setting selectedIndex didn't work..
View 3 Replies
Jul 13, 2009
I'm trying to change Flex 3 ToggleButtonBar dataprovider on user or admin log in. I'm trying to use 2 viewstack, and I've got a component where the login form is in the component. What should I do to define the dataprovider based on user log in?
View 1 Replies
Jan 25, 2010
I am encountering a bizarre Flex 3.4 issue. I have a class that acts a dataprovider to my entire application named "DataProvider.as":
package {
public class DataProvider {
[Bindable]
public static var email_enable:Boolean = true;
}}
In an mxml form, "Settings.mxml" I have a checkbox control which is bound to the email_enable variable of my dataprovider class:
<mx:CheckBox x="452" y="170" label="{Language.loadLanguageResource('lblEmail')}"
id="chkEmail"
selected="{DataProvider.email_enable}"
change="onChange()"/>
All is well as far as getting the value, if I set the variable in my dataprovider to either true or false, the checkbox reflects this change; however, if I click on the checkbox and change it's value, the dataprovider variable never reflects the change.
View 1 Replies
Aug 8, 2011
Is there a way to apply a renderer to a grid in a way so that it doesn't modify the values in the data provider? I have a datagrid and on one of its columns I have a customer renderer which overrides the set data function and converts the number value in the dataprovider to a word. My problem is that when I sort the grid by that column it sorts by the new value, whereas I want it to sort by the old value that was originally in the dataprovider. Here is my renderer:
[Code]...
View 2 Replies
Aug 9, 2011
My Flex datagrid automatically scrolls to the top when I update the dataProvider (ArrayCollection). I do not want this to happen, but I still want all of the objects to update. I am developing a semi-real time dashboard for a customer's management system, that will update often. If it scrolls to the top every time it updates, it will be very difficult and frustrating to use.I've attempted to use the following techniques to prevent this, none have worked.
dataProvider = updatedDataProvider;
dataProvider.updateItem(dataProvider);
dataProvider.source = updatedDataProvider.source;
dataProvider.updateItem(dataProvider);
I've attempted to dispatch a mouse event to hold the vertical scrollbar in place, I've attempted to lock the vertical scrollbar position value in place (saving and reassigning)..
View 2 Replies
Sep 15, 2009
So you've created a list and hooked it up to your data. But wait! Someone decided to enter, street as their address. Or named their kid John Jacob Jingleheimer Schmidt, and all of a sudden, your list has a bizarre scrollbar running across it, right in the middle of the component, where no human being would possibly want a scrollbar.
As someone who considers himself clever, I've tried setting the width of the individual list components. This fixes the immediate problem of the scrollbar, but now the overrun from the list has hid itself invisibly underneath the next list element.
Is there a sane way to deal with this so that the elements of the list will adjust themselves vertically to hold the content?
View 2 Replies
Oct 7, 2011
I'm building a multiplayer game which when connecting to the server, the server sends back a list of available rooms (each room has MaxPlayers,MinRank,TableId,TableName,Password) so everytime I recieve these 5 strings, I create an instance of Mxml UI Component I have created and fill it with the relevant details. In the main.MXML i've added an AS3 script variable to hold the GameInstances object i've created when rcvd data back from the server: private var gameInstances:ArrayCollection = new ArrayCollection(); GameInstance.mxml is a component that has UI components in it and AS3 script to set some data. When rcving data from the server in main.mxml :
[Code].....
View 2 Replies
Apr 25, 2011
I need to create a slideshow using data received from another view.I'm calling the slideshow's view like this:
<s:List id = "list" dataProvider = "{actions}"
change = "navigator.pushView (DetailsProduct, list.selectedItem) ">
<s:itemRenderer>
[code].....
View 1 Replies
Feb 16, 2011
I have an array collection as the dataprovider to a datagrid. When I change a value in the arraycollection, a particular row gets updated in the datagrid. I want to get the index of that particular row. How do I get it?
View 1 Replies
Feb 24, 2010
I want to get rid of the typical Flex roll-over color in list-based components, and to display my own style of roll-over rendering. Setting useRollOver to 'false' is not an option, since disabling that will also make the List.isItemHighlighted() function to always return false. My custom renderer relies on that function. Can it be so hard? Is there no way of setting that roll-over color to transparent? Is there some other way for my renderer to figure out if an item is highlighted?
View 3 Replies
Dec 21, 2010
I have a spark List defined as:
<s:List id="symbolList" dataProvider="{symbolListCollection}" change="symbolNameChangeHandler(event)"></s:List>
With the change handler defined like this:
protected function symbolNameChangeHandler(event:IndexChangeEvent):void {
symbolList.validateProperties();
changeSymbolView(symbolList.selectedItem);
}
and symbolListCollection as an ArrayList filled with Strings.
At first, the change event works fine, and I get what I expect.
However, if I Ctrl-click on the selected item, to de-select it, i am unable to ever select an item again.
When I click on something to try to select it, the change event DOES fire, however, the ItemChangeEvent has both oldIndex and newIndex set to -1
View 1 Replies
Sep 2, 2010
I'm trying to create a simple layout of 3 horizontal Label/Text components. I'd like the components to resize depending on their text content, which will change at runtime.
The components should look something like this:
<mx:Label text="{firstNum}" />
<mx:Label text="-" />
<mx:Label text="{secondNum}" />
The output would look like "0-1" or "1-99" or "1000-9999".
My problem is that the default width of the Label is wider than it's content (even with paddings set to 0), and if I set an explicit width larger numbers will be truncated when the bound variables are updated.
So, I want to create a Label that is exactly as wide as it's content, even when that content is a single character.
On screen the text from the 3 Labels should look the same as if all the text was entered in a single Label.
(I need to keep the text in separate components so I can play effects on firstNum/secondNum individually.)
View 2 Replies
Sep 8, 2011
I have a custom component, containing a List displaying items from an XMLListCollection:
[Code]....
Also if I click twice, only 1 mouse click will cause my custom event to be dispatched (because obviously there is no change between the items). how to make my List only react to mouse clicks? UPDATE: Yes, I've tried using "change" event for the List before, but then I have the problem that it is fired, even if the List scrollbar is clicked.
View 1 Replies
Sep 11, 2009
With mx:Box I can set the direction to be either "horizontal" or "vertical". I'd like to reverse the order of the components in the box though. For example:
Before:
|button1| |button2| |button3|
After:
|button3| |button2| |button1|
I've created a custom component that lives in a mx:Box and would like to do this in as simplest a way as possible.
View 1 Replies
Sep 28, 2010
I have a custom component on which I have bound an array collection to one of its proeprties: <comp:MyComp id="comp" prop="{images}" /> images is an arraycollection In the components' code I would like to know which event to listen on everytime images updates props. I tried a setter on props but the setter only gets called once when props is first set. I tried the collection event but I get "Update" events sent on top of 'add' and 'remove' events and I would rather not have to manage those. So is there an event(flex or otherwise) that is fired every time a component property is updated by a bindable property?
View 1 Replies
Oct 15, 2011
I have two datagrids:
- Division
- Members
Both have single columns. Selecting one item from Divsions datagrid should display members of that Division in the Members datagrid. But following code has some problem and Members of a particular division do not show up when respective Divsion is clicked.
Following are some snippets of the related code. Hope someone can spot an error in it.
[Code]..
View 2 Replies
Mar 24, 2012
How can I enable or disable a group of components in flex (flash builder 4)?
For example, if I have a window with several fields, I want to disable them based on the users permissions.
I know I can add the enabled="true" or "enabled="false", and I can also use enabled="{writeAccessVar}"
However, I am looking for more ideas, as I might have more than one group of fields on the screen, or more complicated user permissions.
For example, I will currently have one field with write access, the other fields on the screen read only for a certain user level.
For a higher level user, all fields are writable. Lower level, all are read-only.
View 1 Replies
Mar 26, 2012
I'm creating a log-in box for my Flex application. However, I'm required to apply a specific design to this box that I have to change the title bar height.
The component I'm using is spark.components.Panel. I just can't find the property of this 'Panel' component to change the feature.
View 1 Replies