flex – 在DataGrid上使用itemRenderer时确定拖动代理
发布时间:2020-12-15 01:49:11 所属栏目:百科 来源:网络整理
导读:我在Flex DataGrid上使用默认拖放,但是,dataGrid本身有一个itemrenderer. 好像: public class FlashFileDataGridRenderer extends Label{ public function FlashFileDataGridRenderer(){ super(); }override protected function updateDisplayList (unscale
我在Flex DataGrid上使用默认拖放,但是,dataGrid本身有一个itemrenderer.
好像: public class FlashFileDataGridRenderer extends Label{ public function FlashFileDataGridRenderer(){ super(); } override protected function updateDisplayList (unscaledWidth:Number,unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth,unscaledHeight); this.setStyle("paddingLeft","3"); if (data instanceof FlashEntryBean) { if ((data.cutFlag)) { setStyle("color","#AAAAAA"); } else setStyle("color","#000000"); } 这适用于数据网格中的所有项目.在拖动时,这不再显示具有较低alpha的代理.我希望能够保留该样式,如何确定此特定项目是否正在应用itemrenderer.我在想如果我可以确定对象是否是代理,然后自己淡化文本. 谢谢! 解决方法
尝试将setStyle调用移动到overriden set data方法
override public function set data(t:Object):void { super.data = t; if (data instanceof FlashEntryBean) { if (data.cutFlag) setStyle("color","#AAAAAA"); else setStyle("color","#000000"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |