Flex :: Maintain Selection In A DataGrid When The Data Changes?
Apr 6, 2010
I have a DataGrid and I set the DataProvider to my data. When my data changes the DataGrid loses the selected row and the scroll bar jumps back to the top. How do I maintain the selection and scroll position?
I have a TileList which represents some remote data. I also have a form which allows me to change the data. And the data may be changed by someone else too.
What is the best way to maintain data in the list in an up-to-date state? The simplest option I see is the following:
Select an item in the list Edit it in the form Save it. The form submits the data to the server When the server reports success the list re-fetches it's data The very bad thing about this workflow is that the list loses selection (a tree would also loose the nodes' expanded/collapsed state). I would really love to find out another option which would enable the list to maintain it's selection state.
My datagrid is filled with data from an Oracle database. The datagrid refreshes after 1 min. After that, I lose the selected item. I want to avoid that. Consider that it's quite possible that there is new data after refresh, so the selected index may no longer appear in the datagrid after a refresh.
I have a dataGrid in Flex to which data is added dynamically using dataGrid1.dataProvider=myArrayCollection;The DataGrid is non-editable and defined in mxml as [code]The data in myArrayCollection definitely does not contain duplicates.I am not able to select any row except the last.This occurs when I overlay the AIR 3 SDK on my copy of Flex
I have a TabNavigator, and each tab is a Module. One of the modules is labelled Units and the full code of the module is posted in this post. There are several problems:
1) Forms are not populated with data from the datagrid selection. 2) Selecting a row and clicking delete gives the very-common error: TypeError: Error #1009: Cannot access a property or method of a null object reference.
A trace on the valueObject unit within the selectionChangeHandler function gives NULL. Why? Note: In other modules (other tabs of the TabNavigator), I have DropDownLists populated with units. This means that the valueObject Unit is defined in the other modules. However, valueObjects should be private to modules, and not shared.
Back again with another Flex question. I have an XML structure like...
[Code]...
Now I got his displaying on my grid by saying dataProvider=XMLListCollection... What I want to do is on selection of a row, check if it has "Address" tag, if it has display the other grid, else hide the grid.
I have a datagrid with 5 columns. The first column has checkboxs and rest four columns have data from the dataProvider.
I have two relating issues: First: I want the row to get selected when I click on a checkbox, or if i click on multiple checkboxes, every row should stay selected in the datagrid for whose checkbox is selected.
Second: If a row or multiple rows are selected, the corresponding checkbox should get selected too.
I have a question I came up with 3 days ago about how to do the blue underlining of a datagrid row programmatically. I thought to have found the solution, with just adding the column and row Indexes to the datagrids editedItemPosition Property.It turned out, that this is just practical if you want to be able to edit the grids row right away. But what if I just want to underline it with the blue color?Additionally how to detect that a list based Item got this kind of selection? es there a event to detect that? whats the name of this kind of selection?
I'm working on my first ever AIR application with flashbuilder - just so you know. I've bound a mx:DataGrid component to a DataProvider which is a mx:HTTPService fetching an xml file with items. To keep the data up to data I'm polling the webservice on a given interval.
My problem is that I loose the currently selected item in my DataGrid when the data is updated. I've tried to save the DataGrid.selectedIndex and set when the data is updated, but I'm not sure when to do it?! The closest I've come is to restore the index when the updateComplete event of DataGrid is fired. This works, but the selection first fades away and then fades in - not updated soon enough. So what is the best way to keep the selection? (only one selected item at a time) And as a side question: is there a convenient way to only update the data when it has actually changed?
I have a datagrid.In this datagrid I have a combobox item editor. This datagrid also has multiple columns where a user inputs numbers in each column. These numbers are then calculated by formula where the sum is posted in the "total" column. In this combobox there are two options for the user to choose from and each option has a different formula for calculating the inputted numbers. What I want is for when a user chooses "option 1" one formula is used to do the calculation, when "option 2" is chosen by the user then formula two is used to the calculation.Here's an example:
Combobox Option 1 (formula 1) is chosen by user = (Column2 - Column1) x column3 = "total" column Combobox Option 2 (formula 2) is chosen by user = (Column1 - Column2) x column3 ="total" column
I realize you would use a conditional such as "if else" statement, but im just not sure how to do it. I've been trying to implement this for a while with no success.
i have an array list of data which i am showing in spark data grid. once i select an idem and click on a button that i have linked with datagrid it adds a panel on screen. I want to disable this selection i-e to tell that this item panel have already been added. Any ideas how can i do that?
I have a custom skin applied to a Flex 4 spark datagrid. One really annoying issue I am having is finding the ability to override or change the selected row border color. I was able to set the selectionColor just fine but the border is still the default light blue color. I need it to be yellow.
Anyone know where I can find this style or override this border that is being set when selection happens within the skin itself.
I have a DataGrid, and what I would like to do, is when a user clicks on a row to select it, check a certain condition, and if it's met prevent the row from getting selected and keep the old selection intact.
I have two datagrids which should do everything synchronic except the data entry. I already managed to make them scroll synchronic by using the scroll event. My question is now how to select a item of a datagrid only programmatically, and how to get the mouseover effect and underlining the corresponding row with a bright blue color?
I have a spark datagrid on a mobile application, I set the
interactionMode="touch"
and the dataGrid scrolling is good, I got some problems adding a selectionChange eventListener to it, because scrolling the dataGrid will automatically change the selection and instead simply scrolling it, the function binded will start...
How can I add the touch dalay before select the index, so if I scroll the grid the selection won't change, and it change only if I press the item without scrolling?
I've got a Gridcolumn in a Datagrid (Spark). The Column's dataprovider is a Number value that gets updated via Binding.Now, without an item renderer the cell displays the correct values.If I set an item renderer, I can't access the values in this renderer.My renderer looks like this, so nothing really do here (for now) but to trace the value, but the value is always NaN.
I have a DataGrid whose dataProvider is an Array of int Arrays (each with different lengths). Since each row has variable size (and I want to display all the data), I decided to extend DataGridColumn and overwrite the itemToLabel function to be able to display the data. The problem is that I also need to display the data differently depending on the int value.
I believe the only solution is to write an itemRenderer, but the only input the itemRenderer.set(data) function receives is the entire int Array. I believe I need either the exact string returned by itemToLabel or the column index of the cell the itemRenderer is for (to basically do the same parsing I implemented in itemToLabel).
Now I have added my tree just below the list and I have saved counting from 10 to 19 in one.xml, 20 to 29 in two.xml and so on in different XML file. I have no clue how to connect the XML containing counting from 10 to 19 as the single node in tree at the selection of label one in list
ArrayCollection with multiple filter functions i want to do chain selection datagrid which means consider two textinput seaech name and age if i searched a name and get a result if i search a age the result in a datagrid should be respective to the searched name
What event is called when you click on an editable field to edit it, and then click off of the field? in a datagrid using Flex 4? If I'm not making much sense I'm trying to make a datagrid where you can edit the fields and once you're done editing those fields the application calls an event listener which triggers a save method.
I'am trying to create a Flex Application where users can select courses from a combo box based on the department that offers the course. The combo box has an XML variable as its data provider and has the different departments listed. When a user selects the department from the combo box the courses offered for that department should automatically update (show up) in the data grid under their respective columns. What it needs to do is retrieve the XML for the selected department and then set the data provider for the srcgrid accordingly. I am having a lot of trouble with things displaying correctly in the data grid. The course should be under Course ID, course name under Name, etc...
HTML Code: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[
The data provider (ArrayCollection) for my data grid consists of objects with ByteArray (int) fields. How do I make the data field display as int without transforming my data provider?
I have a custom dataGrid that acts more like a 2D list (if that makes sense at all). I am dynamically creating the columns and recreating the dataProvider to suit my needs. While debugging I can see that I am creating the columns and setting them to the dataGrid and creating and setting the dataProvider, but for some reason I am able to see the dataGrid and the columns but not the data.
[Bindable] private var mockData:ArrayCollection = new ArrayCollection([ {value: "425341*"}, {value: "425341*"},
I'm following flex tutorials but i'm not doing exactly as they do, so :hat i want I have an input text, with a button 'search'.I want when this button is clicked that the data returned by the function search are displayed in the datagridWhat i have :
The text input : <s:TextInput includeIn="DetailServeurs" x="58" y="361" width="209" id="txt_search" text="Default text" focusIn="txt_search_focusInHandler(event)"/>
Calling a simple refresh (like with a simple arraycollection as a dataprovider, or with a refresh on the Grouping Collection) does not work. Also re-assigning the arrayCollection to the Hierarchical Data and then assigning this one again to the Datagrid does not work (even with calling invalidateProperties() or validateNow()).
I have an editable DataGrid in Flex, with data full of numbers. The columns have no special itemRenderer, but a labelFunction, which returns the number as-is if positive, but puts it in parentheses if it is negative, like so
27.3 => "27.3" -27.3 => "(27.3)"
Now, these cells are editable. When I try to edit a cell with a positive number, nothing is wrong. But if I try to edit a negative number, it starts editing (27.3) instead of editing -27.3. Because of this, when the edit is done, the labelFunction is evaluated with the new value in parentheses(i.e.,labelFunction is called with "(30.5)"), and converting it to a Number results in NaN. So, I want to know if I can make the DataGrid edit the data in the dataProvider instead of the label that it shows.
I have datagrid binded with data acquired from web service which, as you may suspectretrieves data from some db. Datagrid has some editable columns and I want to update db through appropriate web service call without adding button "Update" as a last column in datagrid.