我正在尝试创建一个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,这可能吗?
丹尼斯
答案 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。