Consulta Flex Datagrid
-
06-07-2019 - |
Pregunta
¡A continuación se muestra parte de mi código que interactúa con la cuadrícula de datos ...!
Esto enumera los elementos secundarios del nodo particular si hago clic en él después de actualizar la cuadrícula de datos ...
Pero si hago clic en un espacio vacío de la cuadrícula de datos, aparece un error que dice
" ReferenceError: Error # 1069: Datos de propiedad no encontrados en mx.controls.listClasses.ListBaseContentHolder y no hay un valor predeterminado. "
¿Cómo evitar eso?
if (event.target.data.children! = null) { resultSet.removeAll (); var tempChildObj: ArrayCollection; tempChildObj = event.target.data.children como ArrayCollection; var childLength: int; childLength = tempChildObj.length;
for(var i:int =0;i<childLength;i++)
{
resultSet.addItem(tempChildObj.getItemAt(i));
}
resultSet.addItem(tempChildObj);
}
}
Solución
Lo que le dice el error es que la propiedad target
del evento no tiene una propiedad llamada data
en su caso de error. Esto tiene sentido ya que está haciendo clic en una fila en blanco: una fila en blanco no contendrá ningún dato.
Lo que querrá hacer primero es verificar si el target
del evento contiene una propiedad data
antes de comenzar a acceder a la propiedad child
de data
. Cualquiera de las siguientes pruebas debería funcionar:
if( event.target.hasOwnProperty( "data" ) ) {
// rest of your code here
}
o
if( event.target.data ) {
// rest of your code here
}