[分享]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);
}
}
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);
}
}