加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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");
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读