I am trying to create an advanced data-grid with grouped columns. The problem is, I don't know how many columns the ADG should have. Each group of columns contains two columns, but The number of groups is set by a selectbox.
This method creates the columns (by some data that called class choise):
public function createAdvancesDataGrid():void
{
var adg:AdvancedDataGrid = this.currentStateADG;
var columns:ArrayCollection = new ArrayCollection();
for each (var currentClass:ClassAssetMetaData in columnsClasses)
{
var columnGroup:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup();
columnGroup.headerText = assetsLabelFunction(currentClass);
columnGroup.childrenDragEnabled = false;
columnGroup.sortable = false;
columnGroup.draggable = false;
columnGroup.editable = false;
var portionColumn:AdvancedDataGridColumn = new AdvancedDataGridColumn();
portionColumn.headerText="portion";
portionColumn.dataField = "portion"
portionColumn.width=80;
var marketValueColumn:AdvancedDataGridColumn = new AdvancedDataGridColumn();
marketValueColumn.headerText="marketValue";
marketValueColumn.dataField = "marketValue"
marketValueColumn.width=80;
columnGroup.children = [portionColumn, marketValueColumn];
columns.addItem(columnGroup);
}
adg.groupedColumns = columns.toArray();
adg.validateNow();
}
My data provider is an array Collection of
public class AssetMarketValue
{
public var portion:Number;
public var marketValue:Number;
public var order:int;
public var asset:BaseAssetMetaData;}
I want the data grid to display each grouped column with it's AsssetMarketValue from the data provider, but somehow the data grid displays the same marketValue for all the grouped columns in the row.
After some research, I found out that the group should also have a dataField, but because I am generating the columns dynamically via actionscript, I don't know the names of the data field.