質問

以下は、データグリッドと対話するコードの一部です...!

これは、データグリッドを更新した後に特定のノードをクリックすると、そのノードの子をリストします。

ただし、データグリッドの空のスペースをクリックすると、次のエラーが表示されます

" ReferenceError:エラー#1069:mx.controls.listClasses.ListBaseContentHolderでプロパティデータが見つからず、デフォルト値がありません。"

それを避ける方法

if(event.target.data.children!= null)         {             resultSet.removeAll();             var tempChildObj:ArrayCollection;             tempChildObj = ArrayCollectionとしてのevent.target.data.children;             var childLength:int;             childLength = tempChildObj.length;

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

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

        }

        resultSet.addItem(tempChildObj);
    }


}
役に立ちましたか?

解決

エラーの内容は、エラーの場合、イベントの 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
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top