Apache flex FlexDataGrid查询

Apache flex FlexDataGrid查询,apache-flex,datagrid,events,click,Apache Flex,Datagrid,Events,Click,下面是我与数据网格交互的部分代码 如果在刷新datagrid后单击特定节点,则会列出该节点的子节点 但如果我点击datagrid的一个空白区域,我会得到一个错误消息 “ReferenceError:错误#1069:在mx.controls.listClasses.ListBaseContentHolder上找不到属性数据,并且没有默认值。” 如何避免这种情况 if(event.target.data.children!=null) { resultSet.removeAll(); var tem

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

如果在刷新datagrid后单击特定节点,则会列出该节点的子节点

但如果我点击datagrid的一个空白区域,我会得到一个错误消息

“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=临时ChildObj.length

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

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

        }

        resultSet.addItem(tempChildObj);
    }


}

for(var i:int=0;i错误告诉您的是,在您的错误案例中,事件的
target
属性没有名为
data
的属性。这是有意义的,因为您单击的是空行-空行不会包含任何数据

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

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

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