[分享]DataGrid中设置自定义样式(比如:某行或者某列为自定义样式)

来源:互联网 发布:网络大学文凭有用吗 编辑:程序博客网 时间:2024/06/05 11:56

 

[分享]DataGrid中设置自定义样式(比如:某行或者某列为自定义样式)

重写DataGrid中的draw开头的几个方法,这些方法都是protected的:

drawCaretIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void
使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制尖号指示符。

drawColumnBackground(s:Sprite, columnIndex:int, color:uint, column:DataGridColumn):void
使用建议的颜色为列绘制列背景。

drawHeaderBackground(headerBG:UIComponent):void
在给定的 UIComponent 中绘制标题的背景。

drawHighlightIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void
使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制加亮指示符。

drawHorizontalLine(s:Sprite, rowIndex:int, color:uint, y:Number):void
绘制行之间的直线。

drawItem(item:IListItemRenderer, selected:Boolean = false, highlighted:Boolean = false, caret:Boolean = false, transition:Boolean = false):void
绘制带有指示符(加亮显示的或选中的)或尖号的渲染器。

drawLinesAndColumnBackgrounds():void
绘制列之间的直线,以及列背景。

drawLinesAndColumnGraphics(contentHolder:ListBaseContentHolder, visibleColumns:Array, separators:Object):void
绘制列之间的直线,以及列背景。

drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
使用指定的颜色在指定的位置按指定的高度绘制行背景。

drawRowBackgrounds():void
绘制行中所有交替行的颜色、边框和背景。

drawSelectionIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void
使用指定的颜色在给定的 Sprite 中采用指定的位置、宽度和高度绘制选择指示符。

drawSeparators():void
创建用户通常用于调整列大小的列标题分隔符并将其显示出来。

drawVerticalLine(s:Sprite, colIndex:int, color:uint, x:Number):void
绘制列之间的直线。

drawVisibleItem(uid:String, selected:Boolean = false, highlighted:Boolean = false, caret:Boolean = false, transition:Boolean = false):void
绘制可见的项目。


例如:
我要将DataGrid中第二行设置为红色,则重写DataGrid中的drawRowBackground方法。
protected override function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void{
  if(rowIndex==1)){
    super.drawRowBackground(s, rowIndex, y, height, 0xff0000, dataIndex);
  }else{
    super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
  }
}
原创粉丝点击