Flex4在datagrid单元格中添加按钮/图片等丰富内容

来源:互联网 发布:破解网络尖兵软件 编辑:程序博客网 时间:2024/05/17 22:22

1,添加按钮

<s:DataGrid width="100%" height="100%">
<s:columns><s:GridColumn headerText="维护" ><s:itemRenderer><fx:Component><s:GridItemRenderer><s:HGroup verticalAlign="middle" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">       <s:Button label="删除" width="50"/>       <s:Button id="modifyBtn" label="修改" width="50" click="outerDocument.modifyBtn_clickHandler(event)"/>       <s:Button label="查看" width="50"/></s:HGroup></s:GridItemRenderer></fx:Component></s:itemRenderer></s:GridColumn></s:columns></s:DataGrid>

单元格中的按钮单击事件调用时必须在方法前加上outerDocument,不然会找不到该方法。因为添加<fx:Component>标签相当于嵌入了一个页面。

2,有时需要根据单元格获得的数据以图表或者不同颜色来呈现,则要用到项呈示器

新建一个项呈示器

模版选择Spark DataGrid的项呈示器

<1>添加数据改变事件

<2>然后绘制你想要的图表或者一组css样式来填充单元格的背景

<3>

protected function itemrenderer1_dataChangeHandler(event:FlexEvent):void
{
             getChart(data);//data是GridItemRenderer的属性,也就是是单元格获得的数据,为Object类型
}

private function getChart(obj:Object)

{

            //这时就可用从data中获得的数据绑定到你的图表或者背景中了

}