Strutturazione di dati per le prestazioni

Opzioni di binding dei dati per le prestazioni

Per i moduli associati a delle origini dati, è possibile eseguire un binding di un elemento dati con un oggetto modulo, ad esempio un campo o un sottomodulo. Questo tipo di associazione viene chiamato binding dei dati. È possibile scegliere oggetti che diminuiscono o aumentano in base al numero di dati visualizzati.

Molte definizioni di binding di dati consentono di ottenere gli stessi risultati al momento del rendering di un modulo. Tuttavia, più semplice è la relazione tra l'oggetto modulo e il relativo elemento dati, più efficiente sarà il processo di elaborazione del binding dei dati in Forms

Nel diagramma seguente viene illustrato un esempio di binding di campo: due oggetti campo nel modulo sono associati a elementi di dati. Il binding è ambiguo perché esistono varie istanze di oggetti campo e dei relativi dati. In questo caso, per fare corrispondere l’occorrenza n di ciascun oggetto con l’occorrenza n dei dati corrispondenti durante il rendering del modulo, sarà necessario un processo di elaborazione più complesso.

Nel diagramma seguente viene illustrato l'uso di un binding di sottomoduli per raggruppare gli oggetti e semplificare il processo di rendering del modulo. Il sottomodulo è associato al gruppo ripetuto nei dati per eliminare la possibilità di binding ambigui. Il binding viene valutato per il primo gruppo e non è necessario che venga controllato di nuovo nelle successive ripetizioni.

Visualizzazione dell’elemento grafico a dimensioni intere
A.
Binding dei campi (numero e quantità)

B.
Binding di sottomoduli

È possibile utilizzare i sottomoduli per raggruppare e organizzare gli oggetti senza eseguire il binding tra il sottomodulo e un elemento dati. Per evitare che durante l'unione dei dati in Forms venga ricercato un elemento di dati relativo al sottomodulo, modificare il tipo di binding dei dati del sottomodulo impostando il valore predefinito Normale su Nessuno.

Valutazione della struttura dati per le prestazioni

La visualizzazione selettiva dei campi rappresenta uno dei metodi che dimostrano come la struttura dati influisca sulle prestazioni.

Si supponga di voler visualizzare un messaggio solo se il valore dell’elemento dati amountOwed è maggiore di zero. Uno dei metodi consiste nell’utilizzare uno script per esaminare il valore di amountOwed e modificare la proprietà mostra/nascondi del campo del messaggio in base al valore dell’elemento dati.

In alternativa, è possibile eseguire il binding dei dati con un sottomodulo anziché a un campo per maggiore efficienza, anche se entrambi i tipi di binding producono lo stesso risultato. Nell’esempio alla struttura dati viene aggiunto l’elemento stato, il quale viene quindi associato a un sottomodulo. Il sottomodulo include i campi messaggio e amountOwed. Se il conteggio minimo del sottomodulo viene impostato su zero, il messaggio verrà visualizzato solo se l’elemento stato esiste.

In un contesto dati la decisione di aggiungere il nodo di stato al file di dati deve essere presa in fase di generazione, solo se il valore è maggiore di 0. Questa tecnica consente di stabilire con la logica se nel modello del contesto dati è necessario un sottomodulo.