È possibile utilizzare l'input fornito dall'utente in uno o più campi nel modulo per determinare i valori di una casella di selezione. Questa tecnica risulta utile per offrire all'utente due set di diverse scelte valide presenti nella propria fonte dati, tuttavia non gli si consente di specificare una scelta personalizzata. In tal modo si rafforza la standardizzazione e si evita l'immissione di scelte non valide, fornendo però all'utente diverse opzioni di scelta.
Un'applicazione comune di questa tecnica si verifica su un modulo con caselle di selezione per paese e stato. Grazie agli attributi reportobjid e reportobjvars, è possibile configurare la caselle di selezione dello stato in modo da visualizzare solo gli stati del paese selezionato dall'utente.
Per utilizzare questa tecnica di precompilazione di una casella di selezione, in base alla selezione dell'utente in una casella precedente, attenersi alla procedura che segue. Questo processo utilizza come esempio di esecuzione lo scenario paese-stato.
Nell'esempio di esecuzione, creare un oggetto dati di report per recuperare l'elenco di paesi dal database.
Quando il modulo viene visualizzato, l'oggetto di dati del report viene eseguito e i risultati vengono inseriti nella casella combinata.
Annotarsi l'ID dell'oggetto dati per riferimenti futuri.
Considerare la seguente query di esempio che un oggetto dati richiede al MDB. Questo esempio restituisce l'elenco dei paesi disponibili per il servizio o l'opzione di servizio al quale è associato il modulo
SELECT country_id,country_name from my_country_table
Questa query effettua quanto segue:
Nota: quando si utilizza un oggetto dati per compilare una casella combinata, non aggiungere altre opzioni alla casella di selezione, poiché verrebbero ignorate (non utilizzate) quando l'utente apre il modulo. Tutte le opzioni per la casella di selezione vengono ignorate, viene preso in considerazione solo l'oggetto dati.
Nota: è possibile eventualmente localizzare il testo di questa descrizione di comando o il nome della casella di selezione se il modulo è utilizzato da utenti con impostazioni locali differenti.
Nell'esempio di esecuzione, creare un secondo oggetto dati di report per recuperare gli stati dal database, in base al paese selezionato dall'utente. Attenersi alle linee guida nella Fase 1 per creare il secondo oggetto dati di report.
select state_id,state_name from my_state_table where country_id=%selected_country%
Un valore valido è uno dei seguenti:
Nota: racchiudere le stringhe tra apici, come illustrato. In una stringa citata, se necessario utilizzare un backslash (\) come carattere escape per specificare un apice o un apostrofo letterale singolo. Ad esempio: $({‘what\’s the status?’})
$({'reportvar':_.user.lastName,’reportvar1’:’abc’,’reportvar2’:12,’reportvar3’:foo()})
Nell'esempio di esecuzione, creare una seconda casella di selezione da compilare con gli stati dal database, in base al paese selezionato dall'utente. Per l'attributo reportobjvars della casella di selezione dello stato, specificare la funzione JavaScript predefinita denominata ca_fdGetSelectedOptionValues, come segue:
$({'selected_country':ca_fdGetSelectedOptionValues ('<form _id> ','country' )[0]})
Specifica il valore dell'attributo _id del modulo che contiene la prima casella di selezione. Si fa riferimento a questo modulo nella Fase 2.
Specifica il valore dell'attributo _id del modulo della prima casella di selezione. Il valore viene creato e registrato nella Fase 2.
ca_fdFetchSelectData('<form _id>','<field _id>');
Specifica il valore dell'attributo _id del modulo che contiene la seconda casella di selezione. Si fa riferimento a questo modulo nella Fase 4.
Specifica il valore dell'attributo _id del modulo che contiene la seconda casella di selezione. Il valore viene creato e registrato nella Fase 4.
Nel nostro esempio di esecuzione, impostare l'attributo onchange per la casella di selezione al valore che segue:
ca_fdFetchSelectData('<form _id>','<state field _id>');
Si consiglia di controllare questo modulo con un servizio in un ambiente di prova prima di utilizzarlo in un ambiente di produzione.
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|