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);
    }


}
¿Fue útil?

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
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top