Whenever you resize a datagrid by hand (not via code), the last column seems to retain most of the width. What's worse, whenever you extend it and shrink it to a large degree, the other columns can get smushed. Here's a perfect example: The ideal solution would distribute width equally or in proportion to the length of the text. In addition, if would avoid covering text when it's not necessary. Now, setting the width to 0.5 in the example above does seem to alleviate the issue, but not prevent it entirely. What I'd also like to know if there are any well polished, custom datagrids out there that solve this. From trying to find a solution, I suspect the only solutions available are more ad-hoc.
Has anyone coded a datagrid component so that the column widths adjust to match the length of the longest element in each one? I know how to set the width of a column to a specific pixel value, but how to go about calculating the width required for each cell? Obviously this depends on font choice and the number of characters I'm trying to display.
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 and I am manually setting the widths of the columns and they are working when i test through the flash application but in the browsers my column widths are not being set at all?
I'm loading a few pngs/jpgs externally so they can be swapped out occasionally, and the issue I'm running into is when they are shrunk they become fairly choppy. Is there a way to have flash re-render them, or do something to smooth the resizing as opposed to going in and resizing every file manually myself?
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.
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?
Can we change the width of the datagrid column dynamically by clicking on the border of the column in order to display the complete string which is too long to be displayed and needs to be scrolled ? If so, How ?
Also, how can we ensure that the column width changes dynamically based on the number of characters / length of string; since many a times the data is too long to be displayed. Can we set the column width to take the length of data into consideration before displaying onto the datagrid ?