Flex Datagridクエリ
-
06-07-2019 - |
質問
以下は、データグリッドと対話するコードの一部です...!
これは、データグリッドを更新した後に特定のノードをクリックすると、そのノードの子をリストします。
ただし、データグリッドの空のスペースをクリックすると、次のエラーが表示されます
" 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
}