Title: Inverted DataGrid
Daman,
    Short answer is here ;-) - just rotate the array. However, if you need "real life" application with large number of columns/rows as well as navigation/tips/formatting of the cells it  might be more appropriate to use cellrenderers and create "columns" collection on datagrid. The next level of FLEXibility and power - dynamic crosstabs - old spreadsheets - can also be easily facilitated by using custom dataProviders. You basically have to choose your options as the task expands
 
:
===============================================
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" initialize="initApp();">
<mx:Script>
<![CDATA[
 var rotated ;
 var loansArray ;
 function initApp() {
    rotated = = new Array();
    loansArray = new Array();

  var objOne:Object = new Object();
  objOne = {prodId:19, productCode:"30J", monthlyPayment:1000, interestRate:6.255};
  loansArray[0]=objOne;
     
  var objTwo:Object = new Object();
  objTwo = {prodId:20, productCode:"5/1", monthlyPayment:2000, interestRate:6.256};
  loansArray[1]=objTwo;
  var j =  0;
  for (var col in objOne) {
   rotated[j] = new Object();
   for (var i =  loansArray.length - 1; i >=0; i--)
    rotated[j]["col" + i] = loansArray[i][col];
   rotated[j]["abc"] = col;
   j++;
  }
  dg1.dataProvider=loansArray;
  dg2.dataProvider=rotated;
  
 }
]]>
</mx:Script>
<mx:DataGrid id="dg1" />
<mx:DataGrid id="dg2" showHeaders="false"/>
</mx:Application>

Hope this helps,
Anatole Tartakovsky
CTI
917-304-3381
----- Original Message -----
Sent: Wednesday, November 02, 2005 4:03 PM
Subject: [flexcoders] Inverted DataGrid

Hi,

Does anybody know a way to define rows instead of columns for a datagrid ?
I have a DataProvider (an array of objects called loansArray) which is created like this.

                var objOne:Object = new Object();
                        objOne.mortgage = {prodId:19, productCode:"30J", monthlyPayment:1000, interestRate:6.255};
                loansArray[0]=objOne;
               
               
                var objTwo:Object = new Object();
                        objTwo.mortgage = {prodId:20, productCode:"5/1", monthlyPayment:2000, interestRate:6.256};
                loansArray[1]=objTwo;

This data provider would have been perfect if I had to create a DataGrid like this

prodId          productCode             monthlyPayment          interestRate
19              30J                     1000                            6.255          
20              5/1                     2000                            6.256


However I need to create a DataGrid which looks like this

prodId                  19              20
productCode             30J             5/1
monthlyPayment  1000            2000
intersetRate            6.255           6.256

How can I do this ?

Thanks
-Daman



--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com




SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex


YAHOO! GROUPS LINKS




Reply via email to