0

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

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

但是,如果我单击数据网格的空白区域,我会收到一条错误消息

“ReferenceError:错误 #1069:在 mx.controls.listClasses.ListBaseContentHolder 上找不到属性数据,并且没有默认值。”

如何避免这种情况?

if(event.target.data.children != null) { resultSet.removeAll(); var tempChildObj:ArrayCollection; tempChildObj=event.target.data.children 作为 ArrayCollection;var childLength:int;childLength=tempChildObj.length;

        for(var i:int =0;i<childLength;i++)
        {

            resultSet.addItem(tempChildObj.getItemAt(i));

        }

        resultSet.addItem(tempChildObj);
    }


}
4

1 回答 1

1

错误告诉您的是事件的target属性没有data在您的错误案例中调用的属性。这是有道理的,因为您单击的是空白行 - 空白行将不包含任何数据。

您首先要做的是在开始访问 的属性之前检查事件是否target包含属性。以下任一测试都应该有效:datachilddata

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

或者

if( event.target.data ) {
    // rest of your code here
}
于 2009-07-31T14:49:08.290 回答