Flex Datagrid查询

时间:2009-07-31 06:09:30

标签: flex datagrid events click

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

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

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


}

1 个答案:

答案 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
}