Actionscript :: Sorting Columns In A Flex Datagrid
Oct 14, 2011
The datagrid gets its data from a back end database which has records like
[Code]....
I get errors like 1061: Call to a possibly undefined method refresh through a reference with static type mx.controls:DataGrid. for myRecords.refresh(); and Access of possibly undefined property sort through a reference with static type mx.controls:DataGrid. for myRecords.sort
For example : Having four columns in advance datagrid like company,contact_person,product and date. In this, first i want to sort by product followed by company and followed by date.
I have a datagrid that uses a custom cellrenderer class to allow me to use a combobox. I have an invisible column that holds the value returned by the cellrenderer when the combobox value is changed. BUT sorting is wonky. Since what really lives in the combobox column individual cells is an object, it never really sorts properly. Is there a way to fire a sorting event to the column that holds the real value?
I have a datagrid with multiple columns. I can click a column header to sort the rows, but I don't know how to sort on two or more rows. For example, last name, age, then racing time.
I want to save remotely (on a database) the state (visible columns, columns width and order) of a Flex3 DataGrid.For width and visibility I can simply save them by accessing each column attribute.. But for the order? Do I have to create the dataGrid dynamically?
I have one Datagrid in Flex. In datagrid there are 4 columns like mark1,mark2,mark3,Total.When i enter mark1,mark2,mark3 that time i want to update total.
Created an editable flex grid which exposes a method called getGridData() to javascript. I am using the JSON.encode() method of the [url]....library to convert the grid object's dataProvider into JSON before returning it.
ExternalInterface.addCallback("getGridData", getGridData); public function getGridData():String {[code].....
However, when I sort a column in the user interface, the encode method is failing throwing the following error
Property usingCustomCompareFunction not found on mx.collections.SortField and there is no default value.
I have a 1 row, many column flex datagrid. I would like to turn the dataGrid on its side, so that the column headers become a single column running down and v.v. Is there a way to do that in the DataGrid? Or am I stuck manipulating the data presented to the grid?
I have an object like: x=y b=u o=p u=e w=p
And I'd like a control that is visually similar to that. Currently the datagrid displays the object as: x b o u w y u p e p Which is too horizontal for my case.
1) Using datefield as item renderer in flex.I am dynamically creating datagrid and its columns. like
dataGridColumn=new DataGridColumn(); dataGridColumn.dataField="invoiceDTO.invoiceDate";// I read this value from XML dataGridColumn.editorDataField="selectedDate"; dataGridColumn.itemRenderer=new ClassFactory(DateFieldRenderer); dataGridColumn.rendererIsEditor=true;
But when UI is generated i get the error invoiceDTO.invoiceDate not found on the TestDTO
//Test DTO
public class TestDTO { public var invoiceDTO:InvoiceDTO; }
My objective is my dataField should be binded with datafield inside the datagrid.How can i do it in actionscript
2) I need to present combobox as item renderer. (same like case 1). But how can i assign dataprovider in the combobox which is present inside the datagrid.
I am trying to make a datagrid, that will dynamically add columns to it based on some condition. Now, I am able to add the columns, but I want the newly added column to have button using itemRenderer. I am unable to achieve this though. Getting this error on line 1
I have a column with 4 fields named : a> Main, b> Forward c> Back d> Link, if I use pre-defined sorting of datagrid with the column names which will be alphabetically, then the order is c>Back b>Forward d> Link a> Main. But, I do not want to sort based on the alphabets. I prefer to sort by names of the column fields. i.e. somehow give priority to each individual column field names. Like pre-define my own order.
I have a Advanced Datagrid with sorting. I think it is string sorting by default. But i need the sorting in number. How can i achieve the number sorting.for example: i have row numbers like 1 to 100 . i need number sorting like 1,10,100.
I am unable to find if the spark DataGrid supports moving / reordering the columns. If not what could be the best solution? Maybe using the mx version?
I want the user to be able to drag the columns and arrange them.
I created a component that is multiple datagrids side by side that share the same columns (each datagrid is the same as the one before but with different data).ProblemThe header text only shows up on the last datagrid. How can I get the text to show up on all the datagrid headers?Here is how I instantiate the component.
I have 16 columns in a DataGrid in my Flex app. The first 15 look fine, with the column, simply containing the text, but the last one has a lot of extra space. Essentially, the columns are just big enough to fit the first 15 and all that extra space is tacked onto the 16th column.
How can I evenly distribute the space over each column?
I have a data grid with an Combobox itemRenderer in it. What I have is a grid with a person id and person name (more stuff in grid but I am struggling with this). In the person name column I have an combobox with all the people on then system's names and id's. What I want to do is when I select a person in the combobox I want the combobox to populate the person name fields (which it does) but I also want to pull out the person id from the combobox and populate the person id column in the data grid as well.
I have a Datagrid that is being populated by an ArrayCollection (rows) of Arrays (columns).I need to update the headerText of each column based on a List that will correspond with the total number of items within each array in the arraycollection. What is the best way of doing this? I know that I can set a listener in the List and update the headerText using (matrixDatagrid.columns[i] as DataGridColumn).headerText but I am looking for a cleaner solution.
I have a datagrid which displays details for a product. For a particular product i need to display its Id current status(Available/ Not) and which category it belongs to. The category part is a bit different from what it seems to be like. Product A can belong to Category A, B and C while product B belongs A ,c and D and so on. Structure of this table would be something like The category columns are retrieved from database and passed as parameter to construct the columns dynamically in Datagrid. I have defined the following Datastructure on UI to handle this.
Product{ var productId:String; var productName:String; var status:String; var categoryList:ArrayCollection; }
I am not sure if this will be able to solve my problem. I think I will need to have a Map containing category Names and if it is applicable for that product.
The flex DataGrid colums are arranged alphabetically by default. I need to order the DataGrid colums as per the order in its dataProvider. The dataprovider is the result of the HTTPService . And the number of columns is not known to us . The number of columns depends on the HTTPService result.
I have several datagrids with changing columns. For the text fields the datagrid's sort function neems to be making a case sensitive compare. eg. the following list sorted would look like this apples strawberries Autos Autos should be with apples but since the capital A is counted differently all capital letters come after. I've found a lot of information on setting a CASEINSENSITIVE flag, but I can't figure out where to do this. The best solution would be one where I can override the default behavior to be case insensitive for all my datagrids and all my compare functions.
I have a data grid where users can drag columns and reposition them. But there is a strange requirement that some columns should not be draged to the left of some other column. eg, assume the columns are: name, price , start date, end date, The end date should not be dragged and placed before the start date. i.e. The user can have start date, price , name , end date. name, start date, price , end date. But at no point can end date appear before start date. Is there a way to do this flex? Is there a way to know where the user is trying to drop the column and show error message ?
I have a question about the Spark DataGrid and how it works in terms of garbage collection. What I'm finding is that if I dynamically add and remove columns from the DataGrid at runtime, the GridColumns and ItemRenderers never get freed from memory.
For instance, if I have a list with 10 items and I create 10 columns, there will be 100 ItemRenderers and 10 GridColumns. If I remove all of the columns, they are still there.
I have this spark DataGrid with five columns. my third and fourth columns represent amount (of product ordered) and price (of a unit of the product). My issue now is to set the fifth column equal to price*amount. I can't seem to find a way to do this.
I'm creating a table that displays information from a MySQL database, I'm using foreignkeys all over the place to cross-reference data.
Basically I have a datagrid with a column named 'system.' The system is an int that represents the id of an object in another table. I've used lableFunction to cross-reference the two and rename the column. But now sorting doesn't work, I understand that you have to create a custom sorting function. I have tried cross-referencing the two tables again, but that takes ~30sec to sort 1200 rows. Now I'm just clueless as to what I should try next.
Is there any way to access the columns field label inside the sort function?
public function order(a:Object,b:Object):int { var v1:String = a.sys;