多列的一个DataGrid项呈示器

时间:2010-04-30 09:54:09

标签: flex actionscript flex4

我正在尝试创建一个Flex DataGrid,其中firstname和lastname显示在彼此之下,但在DataGridColumn

理想情况下,我想做一些像

这样的事情
  

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

这样两个值都传递给itemrenderer,这可能吗?

丹尼斯

1 个答案:

答案 0 :(得分:1)

itemRenderer获取整行的数据,因此您可以从那里简单地组装它。此外,您甚至可能不需要itemRenderer,因为可以使用labelFunction完成该简单示例。

但是,请不要在显示时使用dataField="firstName,lastName"。假设您的集合行具有firstName和lastName属性,您可以这样做:

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

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

当我只需要进行简单的字符串操作或格式化时,我通常使用labelFunction;如果我需要单元格中的图标或其他控件,我通常使用itemRender。