views:

314

answers:

1

Hey,

I'm trying to create a Flex DataGrid where the firstname and lastname are shown under each other, but in the DataGridColumn

Ideally I would want to do something like

<mx:columns> <mx:DataGridColumn headerText="Column 2" dataField="time"/> <mx:DataGridColumn headerText="Column 2" dataField="firstname,lastname" itemRenderer="renderers.FirstNameLastName"/>

so that both values get passed to the itemrenderer, is this possible?

Dennis

A: 

The itemRenderer gets the data for the whole row, so you can simply assemble it from there. Also, you may not even need an itemRenderer because that simple example can be done using a labelFunction.

Do not, however, use dataField="firstName,lastName" as you show. Assuming your collection row has a firstName and a lastName property, you could do it like this:

private function lastNameFirstName(item:Object, column:DataGridColumn) : String {
   return item.lastName + ", " + item.firstName;
}

...
<mx:DataGridColumn headerText="Column 2" labelFunction="lastNameFirstName"/>
...

I typically use labelFunction when I just need to do simple string manipulations or formatting, and an itemRender if I need icons or other controls within the cell.

Robusto