Columns can be re-ordered, you would need some kind of sorting on it... Please look at the ASDocs and Flex docs, it lists all the API for datagrid...
Look at addItem(..), addItemAt(..), getItemAt(..) api for DataGrid, it's listed below the DataGrid method's list. These methods allow you add/remove/manipulate items in DataGrid's dataProvider... -abdul -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Sent: Saturday, April 23, 2005 12:25 PM To: [email protected] Subject: Re: [flexcoders] Dymanic data/headers for DataGrid Thats exactly what I'm doing. I have a java object mapped to a Flex object. Here's what they look like: public class DataVO { private Object[][] dataValues; public DataVO(Object[][] dataValues) { } } Since there are no specific attributes, I get 0,1,2... for the column headers in the Flex DataGrid. However, the headers show up in the opposite order. i.e. if I was returning 5 columns, I see Col4 Col3 Col2 Col1 Col0 instead of seeing Col0 Col1 Col2 Col3 Col4 I got a reply earlier on this forum saying thats just the way AS evaluates arrays. I'm looking for a clean way to display the data in the correct order. I don't see a setAt(x,y,Object) or equivalent method for the DataGrid so I could populate the grid from an AS function. Is there any way to do this? Thx for your help on this. On 4/22/05, Abdul Qabiz <[EMAIL PROTECTED]> wrote: > > Hi Dhiren, > > var obj = {prop1:10, prop2:20} > > is equivalent to: > > var obj = new Object(); > > obj.prop1 = 10; > obj.prop2 = 20; > > And > > var arr = []; > > is equivalent to: > > var arr = new Array(); > > So you can guess, > > var dp = [ > {Name:"Dhiren", Age:20} > ]; > > is an array of object. > > I guess, you can solve this problem by creating ValueObject in ActionScript > as well as in Java code: > > ##javacode## > > package com.dhiren > public class DetailObject > { > public String Name; > public Integer Age; > > public DetailObject(String N, String A) > { > Name = N > Age = A; > } > } > > DetailObject[] detailObjectArr = new DetailObject[2]; > > detailObjectArr [0] = new DetailObject("Dhiren", 20); > detailObjectArr [1] = new DetailObject("Abdul", 24); > > Send this to client to Flash... > > ##flexcode## > > class com.dhiren.DetailObject > { > public var Name:String; > public var Age:Number; > > public static var regClass = > Object.registerClass("com.dhiren.DetailObject", com.dhiren.DetailObject); > > } > > So now when flash would receive that array, class would automatically > mapped.. > > var detailValues = detailObjectArr; > > dg.dataProvider = detailValues; > > Look at this link for more: > > http://livedocs.macromedia.com/flex/15/flex_docs_en/00002246.htm > > > -abdul > > -----Original Message----- > From: [email protected] [mailto:[EMAIL PROTECTED] > Sent: Saturday, April 23, 2005 11:27 AM > To: [email protected] > Subject: Re: [flexcoders] Dymanic data/headers for DataGrid > > Abdul, > > The array is being returned directly from Java code. I cannot use this > notation in a Java object: {Name:"Dhiren", Age:20}. I am not > explicitly creating the array in ActionScript, it is being evaluated > automatically. > > BTW, what does this signify? I ran your example and see that Name: > shows up on the column header. Can you point me to some documentation > regarding this notation? > > On 4/22/05, Abdul Qabiz <[EMAIL PROTECTED]> wrote: > > > > Hey Dhiren, > > > > Folling is simple example, where you can switch dataProvider of datagrid > to > > two different Arrays with different structure of objects..One with two > > properties and other with three... > > > > -abdul > > > > ##DynamicDataGrid.mxml## > > > > <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" > > creationComplete="onAppInit()"> > > <mx:Script> > > <![CDATA[ > > > > var dp1:Array; > > var dp2:Array; > > > > function onAppInit() > > { > > dp1 = [ > > {Name:"Dhiren", Age:20}, > > {Name:"Abdul", Age:100} > > > > ]; > > > > dp2 = [ > > {Subject:"Physics", Marks:95, Rank:2}, > > {Subject:"Maths", Marks:98, Rank:1} > > ]; > > > > } > > > > function changeDP(which:Array) > > { > > dg.removeAllColumns(); > > dg.dataProvider = which; > > } > > > > ]]> > > </mx:Script> > > > > <mx:DataGrid id="dg" /> > > <mx:Button label="Set dataProvider = dp1" click="changeDP(dp1)" /> > > <mx:Button label="Set dataProvider = dp2" click="changeDP(dp2)" /> > > </mx:Application> > > > > > > -abdul > > > > -----Original Message----- > > From: [email protected] [mailto:[EMAIL PROTECTED] > > Sent: Saturday, April 23, 2005 11:05 AM > > To: [email protected] > > Subject: RE: [flexcoders] Dymanic data/headers for DataGrid > > > > What do you mean by 2d Object array? > > > > Does your array look like this: > > > > var dp = [ > > {Name:"Dhiren", Age:20}, > > {Name:"Abdul", Age:23} > > ]; > > > > -abdul > > > > -----Original Message----- > > From: [email protected] [mailto:[EMAIL PROTECTED] > > Sent: Saturday, April 23, 2005 10:34 AM > > To: [email protected] > > Subject: [flexcoders] Dymanic data/headers for DataGrid > > > > Hi guys, > > > > I'm sure this question has been asked before, however I can't find a > > suitable answer searching the forum. > > > > What's the best way to display dynamic data resulting from a remote > > object in a DataGrid. I have no way of knowing the headers or the > > data which will result. I have it as follows now: > > > > <mx:DataGrid id="dg3" dataProvider="{my_list.dataValues}"> > > </mx:DataGrid> > > > > dataValues is a 2D Object array containing Strings and Doubles. > > > > This has a few problems: > > > > 1. The data is displayed in opposite order. i.e. col 0 is displayed > > last and col n is displayed first. > > > > 2. I cannot display headers. > > > > Any help would be appreciated. Thanks. > > > > Dhiren > > > > Yahoo! Groups Links > > > > Yahoo! Groups Links > > > > Yahoo! Groups Links > > > > > > > > > > > > Yahoo! Groups Links > > Yahoo! Groups Links > > > > > Yahoo! Groups Links Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

