自定义DataGrid显示的办法

时间:2021-12-25 06:02:52

 代码代码,依然是代码,下面这个是一个自定义了特定列,和特定列的单元格的DataGrid(当然,这两个不再在一列上):

自定义DataGrid显示的办法<? xml version="1.0" encoding="utf-8" ?>
自定义DataGrid显示的办法
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute" >
自定义DataGrid显示的办法    
< mx:Script >
自定义DataGrid显示的办法        
<![CDATA[
自定义DataGrid显示的办法          import mx.collections.ArrayCollection;
自定义DataGrid显示的办法        
自定义DataGrid显示的办法          [Bindable]
自定义DataGrid显示的办法          private var initDG:ArrayCollection = new ArrayCollection([
自定义DataGrid显示的办法            {Artist:'Pavement', Album:'Slanted and Enchanted', 
自定义DataGrid显示的办法                Price:11.99, SalePrice: true },
自定义DataGrid显示的办法            {Artist:'Pavement', Album:'Brighten the Corners', 
自定义DataGrid显示的办法                Price:11.99, SalePrice: false }
自定义DataGrid显示的办法          ]);   
自定义DataGrid显示的办法        
]]>
自定义DataGrid显示的办法    
</ mx:Script >
自定义DataGrid显示的办法
自定义DataGrid显示的办法    
< mx:DataGrid  id ="myGrid"  
自定义DataGrid显示的办法        dataProvider
="{initDG}"  
自定义DataGrid显示的办法        variableRowHeight
="true" >  
自定义DataGrid显示的办法        
< mx:columns >
自定义DataGrid显示的办法            
< mx:DataGridColumn  dataField ="Artist"  itemRenderer ="item.RendererDGHeader" />
自定义DataGrid显示的办法            
< mx:DataGridColumn  dataField ="Album" />
自定义DataGrid显示的办法            
< mx:DataGridColumn  dataField ="Price" />
自定义DataGrid显示的办法            
< mx:DataGridColumn  width ="150"  dataField ="SalePrice"  
自定义DataGrid显示的办法                headerRenderer
="item.RendererDGHeader" />
自定义DataGrid显示的办法        
</ mx:columns >        
自定义DataGrid显示的办法    
</ mx:DataGrid >   
自定义DataGrid显示的办法
自定义DataGrid显示的办法
</ mx:Application >

大家可以看出,columns这个标签的设置确定了他是采用什么ItemRender,而columns是什么呢?他是一个属性,类型是一个以DataGridColumn为元素的Array,这个DataGridColumn有两个属性我们注意一下,那是我们这篇文章的核心,那就是itemRender和headerRender,顾名思义,分别是定义单元格和列标题头的对应属性名,我写了一个自定义的itemRender,代码如下:

 

自定义DataGrid显示的办法<? xml version="1.0" ?>
自定义DataGrid显示的办法
< mx:HBox  xmlns:mx ="http://www.adobe.com/2006/mxml" >
自定义DataGrid显示的办法    
< mx:Script >
自定义DataGrid显示的办法        
<![CDATA[
自定义DataGrid显示的办法
自定义DataGrid显示的办法            [Embed(source="/xtal_03.png")]
自定义DataGrid显示的办法            [Bindable]
自定义DataGrid显示的办法            public var sale:Class;            
自定义DataGrid显示的办法        
]]>
自定义DataGrid显示的办法    
</ mx:Script >
自定义DataGrid显示的办法
自定义DataGrid显示的办法    
< mx:Label  text ="Sale Price!" />
自定义DataGrid显示的办法    
< mx:Image  height ="20"  width ="20"  source ="{sale}" />
自定义DataGrid显示的办法
自定义DataGrid显示的办法
</ mx:HBox >
自定义DataGrid显示的办法
测试一下,你就看到效果了