以下是我的代码与数据网格交互的一部分......!

如果在刷新数据网格后点击它,则列出特定节点的子节点。

但是,如果我点击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);
    }


}
有帮助吗?

解决方案

错误告诉您的是,事件的 target 属性在您的错误情况下没有名为 data 的属性。这是有道理的,因为您单击一个空行 - 空行不包含任何数据。

在开始访问 child 属性之前,首先要检查事件的 target 是否包含 data 属性。 <代码>数据。以下测试中的任何一个都应该起作用:

if( event.target.hasOwnProperty( "data" ) ) {
    // rest of your code here
}

if( event.target.data ) {
    // rest of your code here
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top