首页 > 网站 > WEB开发 > 正文

7.10.为项渲染器和项编辑器应用运行时样式

2024-04-27 13:52:01
字体:
来源:转载
供稿:网友
7.10.1.问题
你需要在运行时修改itemRenderer 或itemEditor 的一些属性。
7.10.2.解决办法
ListBase 和DataGrid(原文是DataGridColumn,可能是作者搞错了。)都有makeRowsAndColumns 方法,继承并重写它。
7.10.3.讨论
我们可以在makeRowsAndColumns 方法中,通过一个循环完成对itemRenderer 样式的设置。
+展开
-XML
<mx:List xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private var _rendererStyle:String;
//here's the most effective way to ensure that we draw
//the item renderers only when we need them
override protected function makeRowsAndColumns(left:Number, top:Number,right:Number, bottom:Number, firstCol:int,firstRow:int, byCount:Boolean=false,rowsNeeded:uint=0.0):Point{
var pt:Point;
pt = super.makeRowsAndColumns(left, top, right,bottom, firstCol,firstRow, byCount, rowsNeeded);
if(_rendererStyle != null) {
rendererStyle = _rendererStyle;
}
return pt;
}
public function set rendererStyle(styleName:String):void {
_rendererStyle = styleName;
if( collection != null) {
var i:int = 0;
do {
try {
var comp:UIComponent =(indexToItemRenderer(i) as UIComponent);
if(comp.styleName == _rendererStyle){
comp.styleName = _rendererStyle;
comp.invalidateDisplayList();
else { continue ; }
catch (err:Error){}
i++;

while( i < rowCount )
}
}
public function get rendererStyle():String { return _rendererStyle; }

]]>
</mx:Script>
</mx:List>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表