Esercitazione 5: Scrittura di un gestore eventi in JavaScript
Questa esercitazione fornisce istruzioni per la scrittura di una serie di gestori eventi. L'esercitazione presuppone che si disponga di una progettazione di prospetto di base,
fondata sul database di esempio Classic Models, Inc. L'unico requisito della progettazione di prospetto
iniziale è che contenga una tabella di clienti con una colonna per il nome cliente. In questa
esercitazione, si contano i clienti i cui nomi contengono la stringa "Mini" e il risultato
viene visualizzato in una finestra a comparsa.
In questa esercitazione, verranno svolte le seguenti attività:
Attività 1: Apertura della progettazione del prospetto
Aprire una progettazione di prospetto che utilizzi il database di esempio
Classic Car e che visualizzi una tabella di nomi clienti.
- Se necessario, aprire Selezione scegliendo
Finestra->Mostra vista->Selezione.
- Fare doppio clic sulla progettazione di prospetto appropriata. Il file viene visualizzato nell'editor del layout, come mostrato nella
Figura 22-4.
Attività 2: Creazione e inizializzazione di un contatore nel metodo Table.onCreate( )
Per calcolare il numero di clienti i cui nomi contengono la stringa Mini, è necessario in primo
luogo dichiarare un contatore globale e impostare il valore su zero. Il metodo
Table.onCreate( ) è il contesto più appropriato per eseguire questa attività perché
Table.onCreate( ) viene eseguito prima di richiamare qualsiasi riga. È possibile incrementare
questo contatore in modo condizionale nel metodo Row.onCreate( ).
- In Layout, selezionare la tabella posizionando
il cursore accanto all'angolo inferiore sinistro della tabella. Viene visualizzata l'icona della
tabella, come mostrato nella Figura 22-5.
- Selezionare la scheda Script. Viene visualizzata
tale scheda, come mostrato nella Figura 22-6.
- Immettere la seguente riga di codice nella finestra
dello script per il metodo onCreate( ):
- Per eseguire il prospetto e verificare che il
codice non abbia creato alcun errore, selezionare Anteprima.
- Scorrere fino alla fine del prospetto, dove
vengono visualizzati dei messaggi di errore JavaScript. Se non sono presenti errori, il prospetto
viene visualizzato, come mostrato nella Figura 22-7.
Se viene visualizzato un messaggio di errore,
è possibile che l'istruzione sia stata immessa in modo non corretto. In tal caso, tornare alla
finestra dello script, selezionare il metodo appena modificato, correggere l'errore e selezionare
nuovamente Anteprima.
Attività 3: Incremento condizionale del contatore nel metodo Row.onCreate( )
Per calcolare il numero di clienti il cui nome contiene la stringa Mini, è necessario esaminare
il nome di ogni cliente e aggiungere uno al contatore per ogni ricorrenza. Un contesto logico
in cui eseguire questa attività è nel metodo Row.onCreate( ), eseguito dopo ogni richiamo di una
riga di dati dall'origine dati.
- In Layout, selezionare la riga e quindi
scegliere Script.
- Scorrere l'elenco di metodi nella parte
superiore della finestra di script e selezionare onCreate, come mostrato nella
Figura 22-8.
- Immettere la seguente riga di codice
JavaScript nella finestra Script:
Tenere presente che quando si immette tale
riga, viene visualizzato un menu a comparsa contenente tutti i metodi e le proprietà disponibili,
incluso getRowData. Questa riga di codice richiama un'istanza di
IRowData, il cui metodo, getExpressionValue( ), richiama il contenuto di una colonna della riga.
- Immettere la seguente riga di
JavaScript sotto la riga appena immessa:
Questa riga di codice restituisce il contenuto
della colonna della tabella proveniente dalla colonna CUSTOMERNAME nel dataset.
È possibile utilizzare la tavolozza
JavaScript per inserire uno dei seguenti elementi nella riga precedente:
- indexOf( )
Selezionare Oggetti ( JavaScript ) nativi->Funzioni Stringa->indexOf( )
- !=
Selezionare Operatori->Confronto->!=
- +=
Selezionare Operatori->Assegnazione->+=
- Per eseguire il prospetto e verificare che il
codice non abbia creato alcun errore, selezionare nuovamente Anteprima.
Attività 4: Visualizzazione del risultato, utilizzando il
metodo ReportDesign.afterFactory( )
Per visualizzare il numero totale di clienti il cui nome contiene la stringa Mini, è necessario inserire
un codice in un metodo che viene eseguito dopo l'elaborazione di tutte le righe nella tabella. Un contesto logico per tale codice si trova nel metodo
ReportDesign.afterFactory( ).
- In Struttura, selezionare la progettazione di prospetto
come mostrato nella Figura 22-9.
- Selezionare il metodo afterFactory( ) dall'elenco
a discesa della finestra dello script.
- Immettere il seguente codice nel metodo afterFactory( ):
- Selezionare Anteprima per visualizzare i risultati. Se non sono presenti errori nel codice, viene visualizzato un prospetto simile a quello nella Figura 22-10.
Se non viene visualizzata la finestra Totale di Mini, ricercarla dietro la finestra
Eclipse. Se la finestra Totale di Mini non venisse visualizzata, la causa più probabile è un
errore di script causato da un errore in una delle voci del codice.
Se si sospetta la presenza di un errore di script, scorrere fino alla fine del prospetto, in cui
vengono visualizzati tutti i messaggi di errore. Nella maggior parte delle situazioni, viene visualizzato
un breve messaggio di errore accanto a un simbolo più ( + ). Il simbolo più indica che è presente
un messaggio di errore più dettagliato visibile solo dopo l'espansione del messaggio di errore
breve. Per espandere il messaggio di errore breve, selezionare il simbolo più. Scorrere in basso
per visualizzare il messaggio di errore più dettagliato.
