首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex DataGrid CheckBox 选择状态在拉动滚动条后 变混乱的有关问题

2012-05-09 
Flex DataGrid CheckBox 选择状态在拉动滚动条后 变混乱的问题在网上查了一下解决办法,可是它老是报错Type

Flex DataGrid CheckBox 选择状态在拉动滚动条后 变混乱的问题
在网上查了一下解决办法,可是它老是报错
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
_data[dgld.dataField] = selected;运行到这一行时就报错了。 各位大侠帮忙看看。谢谢

package checkbox{  
  import flash.events.Event;
  import flash.events.MouseEvent;
   
  import mx.controls.CheckBox;
  import mx.controls.dataGridClasses.DataGridListData;

public class CheckboxItemRanderer extends CheckBox{
  private var _data:Object;  
  override public function set data(value:Object):void
  {
  _data = value;
  if(_data)
  {
  var dgld:DataGridListData = DataGridListData(listData);
  selected = _data[dgld.dataField];  
  }  
  }
   
  override public function get data():Object
  {
  return _data;
  }  
   
  override protected function clickHandler(event:MouseEvent):void
  {
  super.clickHandler(event);
  var dgld:DataGridListData = DataGridListData(listData);
  _data[dgld.dataField] = selected;
  owner.dispatchEvent(new Event("updated"));
  } 
}
}  



[解决办法]
1.renderer已经就有data这个属性了,不需要在申明一个_data放data,多此一举还可能出错,你在别的方法里也能拿到data属性;
2.空指针可能是dgld还没被初始化,你加个判断
var dgld:DataGridListData = listData as DataGridListData; 
if(data && dgld) 
{
selected = _data[dgld.dataField];
}

热点排行