Flex :: Refresh GroupCollection Of An AdvancedDatagrid - The Sorted Arraycollection Gets Randomized
Dec 2, 2009
I have an AdvancedDatagrid which gets populated by an ArrayCollection. I ordered the ArrayCollection by date (one of its properties), so it shows from past to future. The thing is, if I refresh the GroupingCollection (for immediate display in the datagrid) After the Sorting of the ArrayCollection, the ordering of the dates in the ArrayCollection gets scrambled again, but displays the populated AdvancedDatagrid immediately. So in sum: from ArrayCollection > Sorting > Refresh the GroupingCollection > Populates the Adv.DataGrid, but the ArrayCollection is not sorted anymore.
I am working on a Flex AdvancedDataGrid with a flat ArrayCollection dataProvider. The requirement is that when the root nodes is closed, the root row should show a subtotal data and when the root nodes is opened, not show the subtotal data.
I have a object that is extended from arraycollection. This object has to access and manipulate the arraycollections source object. When this happens, the local sorted/filter copy of data goes out of sync with the source data. To line things up correctly, the sort/filter needs to be re-applied.
To do this normally, you would call refresh() on the arraycollection, but this also broadcasts a refresh event. What I want is to update the sort/filter without dispatching an event.Having looked into the ArrayCollection class, I can see it is extended from ListCollectionView. The refresh function
public function refresh():Boolean { return internalRefresh(true); }
is in ListCollectionView and it calls this function
private function internalRefresh(dispatch:Boolean):Boolean { if (sort || filterFunction != null) {
[code]....
annoyingly, that function is private and so is unavailable to and class that extends ListCollectionView. Also, a lot of what is in the internalRefresh function is private too.Does anyone know of a way to call internalRefresh from a class that extends ArrayCollection? Or a way of stopping the refresh event from being dispatched when refresh is called?
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:
I have a column in a data grid that has the values of "Monday", "Tuesday" etc, as varchars, and I wanted to know, how do i sort the column to be in the correct order. Doing a normal sort doesnt work obviously, as the days are not alphabetically ordered naturally (Wed after Thurs). I am assuming some sort of itemrenderer, but anyone got a snippet of code to illustrate how this would work?
I want to know which header the user clicked on to give the currently sorted view. Is there an API in flex framework that I can use to achieve this? Hopefully I can get back a column index so I know how it is currently sorted.
I use a flex mx:datagrid. I can set the headerBackgroundSkin to specify a skin or a picture to be displayed in all datagrid column's headers and it works just fine !
The problem is I can't find any way to specify a custom skin for the currently sorted column (doesn't matter if the sort is asc or desc, this is just to show the user which column is currently sorted).
I also tried to create a custom headerRenderer for each column but it is quite complicated and doesn't work very well.
I have been looking for the solution for a while but I can't find a good approach to do it. It sounds like a very basic need for me...incredible it is so complicated to achieve with Flex !!
I noticed someone was looking for the same thing few years ago but without success... [URL]
A fellow advanced programmer and I have teamed up and were assigned a very difficult image transition effect for a Flash website banner. I will do my best to explain what it needs to do. First off, there will be several pictures(backgrounds) for the banner, and they will transition into each other via a sort of Grid-like flip effect. Visually, it will be as if the picture was divided into squares, and each individual square (top-bottom, column by column for now), will flip over, and on the backside of each square will be the corresponding portion of the "Next Image". To clarify, I will try to create a visual...Picture this: a puzzle, only the pieces are square (for simplicity). The puzzle is 2 sided. You take each individual square piece of the puzzle, starting left-right and flip them over. Once your done flipping over the pieces, you have a whole new picture! I have done my best to mock up a photoshop image of what the effect will do:
I would like an .fla which has been completely composed/coded and allows the playhead to randomly jump to frame labels in a timeline so that I can see the code in action. I have tried many, MANY, methods and have failed. With little hair left, I humbly come to you for your wisdom... Perhaps I should mention the first frame in my movie contains a loader mc/script.
I'm using Flex 4 and I need to render the data that resembles HTML Table with row span in a Flex component.My inclination was to use a DataGrid but I believe that rowSpan is not supported for that component. I looked at the AdvancedDataGrid but the user does not want to have a tree-structure in any of the columns. Looking to see if there are any hints/tips for modifying the DataGrid or AdvancedDataGrid to produce an "HTML Table with rowspan" look.
I have implemented drag and drop between 2 AdvancedDataGrid, but the default behaviour from Flex displays the row data during the drag using the grid item renderer showing all 5 columns.
Instead, I would like to display an icon / image or my own custom item renderer during the drag and drop.
can someone show me a simple "randomize array" function. maybe a prototype that just returns a randomized version of an array such as:
[Code]...
I started on one myself but got stuck when, in the prototype, looping through "this" also counted the function being passed, as well as the elements of the array, and i can't seem to remember why it does that.
Is there any way to detect if AdvancedDataGrid itemClick event is actually caused by the user dragging? I'd like to take action on click, but ignore drag.
I need to flash a series of words for 2.5 seconds with a pause for .5 seconds. The words are drawn from an array that is assigned, but I need to have these words flash in a particular order.For example, if the "words" were A, B, C, D, E (each of which I've assigned a stored value), I might need to show A C E B A A F.
I have an AdvancedDatagrid, whose dataProvider is an ArrayCollection that contains 1 row of displayable stuff.Flex continues to display about 6 rows, the top one filled, the rest blank.I've set the rowCount="1", with no luck.
after multiple Selection in a advanced datagrid, I want to check if the clicked row, was already selected. Anyway my idea below (in the nested if clause I want to check if the newly clicked item's processing data is already in the added Array Collection) is not working, but I assume there must be a better way to differiante if an click was made on a already selected row.
model.processingData = out; if (model.selectedIndices.length > 1){ //check if item already added
I would like to add new row on the fly (runtime) to my AdvancedDataGrid.I can add it to the data model, but couldn't find a way to make the table render and show the new row.What i am seeking for is to create an effect of expandable item, where clicking on row will show "additional information" (like a drawer) and clicking on row expand button will reveal it's children.I saw examples of this for dataGrid (http:url...), but not for AdavancedDataGrid.Only way I found to do this is to add a new child and use openItem, but this cause the other children to be visible as well.
I have a advanced datagrid and populating some data by using arraycollection. And i am filtering the arraycollection, the arraycollection index got changed.
I have a flash ecard that I am working on and had one of those "wouldn't it be cool if..." moments!
I would like find out if it is possible to:
1) load in an xml file that contains several names 2) Load each one of those names into a predefined movie clip which would display the name 3) randomize the placement of each name in a given shape area so that the Movie clips with names would randomly fill in to make a specific shape.
I've got a subclass of AdvancedDataGrid showing a tree-like data structure. How can I, given the index returned by calculateDropIndex, get the item at that index? After reading through reams of code, it seems like the least terrible way is:
var oldSelectedIndex:int = this.selectedIndex; var mouseOverIndex:int = this.calculateDropIndex(event); this.selectedItem = mouseOverIndex; var item:* = this.selectedItem; this.selectedIndex = oldSelectedIndex;
The other option seems to be tinkering around with the iterator property... But, judging by the way I've seen it used, that will get pretty harry pretty quickly too. So, how can I get the item at a particular index in an advanced datagrid without going insane?
Is it possible to use a renderer for for a treecolumn in an advanceddatagrid and still keep the hierarchal functionality? If I use a renderer provider I lose the the arrow for the tree dropdown. I want to keep the tree functionality and change the display of the column.(and not just the folder image)
I've a problem, I'm using an AdvancedDataGrid. It loads about 3000 records with about 20 columns. I constantly get Flex execution timeout because the grid executes a lot inside LayoutManager. How can I make it asyncronousely or faster at all?
how to query an ADG (or its rows) to figure out how many rows are currently visible (i.e. not collapsed) when displaying different levels of a hierarchical collection?In other words I'd like a function that tells me that 7 lines are visible in this view and 1 line is available in this one.
I'm making an application where I display an AdvanvedDataGrid with one column with dates(in format DD/MM/YYYY) and another with datetimes (in format HH:MM). I'd like to sort dates according with the datetimes as well(just clicking in the header of the column), there is an examplen of the expected behaviour:
I am using an AdvancedDataGrid with some hierarchical data. In the first column, I want to indicate whether or not the "name" field is editable by graying out the text for the "name" property of my objects. It's very odd, but when I set the AdvancedDataGridColumn's dataField property to "name", and have it in the first column, it seems to completely ignore my inline ItemRenderer. If I change the dataField property to something else, or change the column ordering so the Name column isn't first, everything suddenly works.
Let me know if any more code would help, but here is the simple ItemRenderer I'm trying to use in the first column: