Query Flex Datagrid
-
06-07-2019 - |
Domanda
Di seguito è parte del mio codice che interagisce con la griglia dei dati ...!
Questo elenca i figli di quel particolare nodo se faccio clic su di esso dopo aver aggiornato il datagrid ..
Ma se clicco su uno spazio vuoto del datagrid ricevo un errore che dice
" ReferenceError: errore n. 1069: dati di proprietà non trovati su mx.controls.listClasses.ListBaseContentHolder e non esiste alcun valore predefinito. "
Come evitarlo?
if (event.target.data.children! = null) { resultSet.removeAll (); var tempChildObj: ArrayCollection; tempChildObj = event.target.data.children come ArrayCollection; var childLength: int; childLength = tempChildObj.length;
for(var i:int =0;i<childLength;i++)
{
resultSet.addItem(tempChildObj.getItemAt(i));
}
resultSet.addItem(tempChildObj);
}
}
Soluzione
Ciò che l'errore ti dice è che la proprietà target
dell'evento non ha una proprietà chiamata data
nel tuo caso di errore. Questo ha senso poiché fai clic su una riga vuota: una riga vuota non conterrà alcun dato.
Quello che dovresti fare prima è controllare se il target
dell'evento contiene una proprietà data
prima di iniziare ad accedere alla proprietà child
di dati
. Uno dei seguenti test dovrebbe funzionare:
if( event.target.hasOwnProperty( "data" ) ) {
// rest of your code here
}
o
if( event.target.data ) {
// rest of your code here
}