以下是我的代码与数据网格交互的一部分......!
如果在刷新数据网格后点击它,则列出特定节点的子节点。
但是,如果我点击datagrid的空白区域,我会收到一条错误
“ReferenceError:错误#1069:在mx.controls.listClasses.ListBaseContentHolder上找不到属性数据,并且没有默认值。”
如何避免?
if(event.target.data.children!= null) { resultSet.removeAll(); var tempChildObj:ArrayCollection; tempChildObj = event.target.data.children as ArrayCollection; var childLength:int; childLength = tempChildObj.length;
for(var i:int =0;i<childLength;i++)
{
resultSet.addItem(tempChildObj.getItemAt(i));
}
resultSet.addItem(tempChildObj);
}
}
答案 0 :(得分:1)
错误告诉您的是,事件的target
属性在您的错误情况下没有名为data
的属性。这是有道理的,因为您单击一个空行 - 空行不包含任何数据。
在开始访问target
data
属性之前,首先要检查事件的child
是否包含data
属性。以下测试中的任何一个都应该起作用:
if( event.target.hasOwnProperty( "data" ) ) {
// rest of your code here
}
或
if( event.target.data ) {
// rest of your code here
}