ActionScript 3.0 :: DataGrid Column Ordering From Recordset?
Jan 21, 2011
I often populate my datagrids with a recordset, an array of record objects, by passing the recordset in the dataprovider constructor. However, this results in unpredictable column ordering i.e. it doesn't correspond to the order of the fields in the record object. I know you can define the columns and then use add item to add the records to resolve this, but I'm curious why the datagrid doesn't order the columns according to the record object field order in the first place and why the order can actually change between renderings of the datagrid?
I have a Flex 4, mx:DataGrid with the following (pertinent) properties set:
width="100%"horizontalScrollPolicy="off"
I have the minWidth set on all of the DataGridColumns and the width set on one of them. If I simply maximize/minimize the display (in browser or stand-alone flash player) of the application, the columns scale up and down nicely. But if you grab the edge of the application and drag it to make it bigger, only one column grows really big. When you drag the size down again, the one column remains big, but all of the other columns get squished way down.
I have a datagrid with some custom renderrers and I'm just curious how I should approach the ability to freeze and always show the left 3 most columns at all times when scrolling left/right.
I thought that I might have to resort to 2 datagrids, side-by-side, the first showing the 3 columns that I want at all times, and the ability to scroll the rest. Only issue then I guess is linking the row selection to select that row in both and to tie the column sorts together...
Or would it be better to try and take columns 4+ and shrink their width to 0 as a person scrolls right, and then increase it back to the max width as they scroll left? Though that would cause funny issues to happen as the content of the datagrid would get smaller and smaller until you were 100% to the right and the scrollbar would disappear.
I wanted to put a checkbox in one of the column of the datagrid. I tried using the cell renderer and could get a column with check box. But the problem is I want the datagrid for touchscreen and it should have multi selection enabled. As I select one check box the previously check box gets cleared. Pressing down the ctrl key do the job but in touchScreen that cannot be done. I read some posts in google where it was said that generating false CTRL press event. I have attached the cellrenderer for the checkbox that I have used. Attachments: checkBoxCellRenderer.txt (1.7 K)
In my flex app I store the widths and visiblility of columns in an xml file. When the app loads it reads from the xml file and sets he columns values as applicable:
In a flex datagrid, by default clicking on column headers does sorting. I want it such that if a user clicks a column header the entire column is selected. I have the datagrid listening for the HEADER_RELEASE event so I know when the column header is clicked.
How can I have the column and header appear highlighted similar to how a row is highlighted when selected?
Context: I have a data grid where the following has been implemented. tabbing through each column in a single row and creating a new row when tabbing from the last column. The last column in my datagrid is now a checkbox. I set the 'editable' to false as shown below (since we don't want editable text to be shown when user clicks on/tabs to checkbox.
Problem: When I tab through the columns of a given row, I cannot tab to the checkbox column and therefore cannot use the space bar to toggle between checked/unchecked. The user is forced to use the mouse to toggle the check box. Question: How do I let user tab to the checkbox column, and press spacebar to toggle between checked and unchecked?
We have a Datagrid:[code]where practiceJoinRequestThicks is an ArrayCollection of PracticeJoinRequestThick object.The PracticeJoinRequestThick has an Practice Object.Practice has an arraycollection "PracticeContactAddresses" which is an arraycollection of PracticeContactAddress object and Practice ContactAddress object has Address object which has the field city:String.Now when I try to display the City, it does not work.
I have defined the datagrid as followsmx:DataGrid id="dg" width="100%" height="100%" >n the part i am trying to get the details from the database and setting the dataProvider for the DataGrid as follows.
var arrayContent:ArrayCollection = new ArrayCollection(); for(var i:int=0;i<assetClassDetails.length;i++) {
I am stuck in a problem working on Flex datagrid, in an AIR application. How can I access a specific row in datagrid in Flex. I am not talking about the selectedItem or any particular record of dataProvider of datagrid. What exactly I want to do is I am showing some files data (name, description etc.) on a datagrid, and the data of these files comes from an array which is the dataProvider of the datagrid. Now when these files are being uploaded one by one to the server (using a webservice), I want to show a ProgressBar on, say, "Progress" column in the datagrid. How can I access this column for a particular row in datagrid i.e. current file being uploaded.
Tried col.setStyle('percentWidth',20) //doesn't work col.setStyle('percentWidth',0.2)//doesn't work && col.percentWidth //doesnt compile Where col is one of the columns in a datagrid.
I wanted to ask if there is a possibility to have both strings and radiobuttons in one column depending on the value of another column perhaps|column1 | column 2 | |r | radiobutton||s | string |If there is an r in column 1 in column2 should appear a radiobutton, otherwise column 2 just shows a string.
I have an array like the following one public var sal:Array=[ {empNo:1001, sal:1000, exp:400}, {empNo:1002, sal:3000, exp:240}, {empNo:1003, sal:1000, exp:452}, {empNo:1004, sal:5000, exp:348}, ...... {empNo:1550, sal:2000, exp:330}, ];
I need to show data using a 3 row flex data grid where the first row will display empNo, the second row will display corresponding salary(field sal), and the third row will display Expenditure (field exp).
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?
In flex, I have a datagrid with 22 columns. I initially display all the columns. The width of each column right is uniform. Now when i change the visiblity of a few columns, the width of each column varies. How do i maintain a uniform column width for each column whether or not there are any invisible columns? how do i get the count of number of visible columns. the ColumnCount property returns total number of columns and not the number of visible ones.
Is it possible to call the function by using the datagrid column item?I want to call the function while the user click the particular column item in the datagrid?
In the below example I has called the OptimizeDataGrid method on Button Click event to resize the Column according to the data. whereas on the First Time of the Button Click event It called the function whereas the Datagrdi Column width alone is not set properly.whereas on second time it is working properly.For Eg : In the below statement the text value is coming as 55 and widthPadding is comes as 25. but the sum of these two value is not in the dg.columns[col].width.
dg.columns[col].width = text + widthPadding;
But the same is working on the second time of the Button click event.
I need to format the column with a currency formatter. I know how to do currency formatting I just need an example on how to implement it into the datagrid column.
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.
There are several ArrayCollections and DataGrid in my application. Number of ArrayCollections determined by the input data. How to create own dataprovider for each DataGrid column?
I have a datagrid, which gets filled by an ArrayList. I want one column to be filled by another ArrayList. I've tried doing it like this, but that only gets the first three columns filled, not the last one (with the different ArrayList):