In sintesi
In questa lezione vediamo come creare sotto reports.
Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
In questa lezione vediamo come creare sotto reports. Come già detto nelle lezioni precedenti un sotto-report è report a tutti gli effetti. L'unica differenza è il fatto che un report è contenuto in un book mentre un sotto-report è contenuto in una box di una sezione.
Per creare un nuovo sotto-report occorre utilizzare il comando "Add report" del menu contestuale di una box di una sezione. Il comando è disponibile solo se la box è completamente vuota (cioè non contiene spans o sotto-reports).
Vediamo un esempio. Nelle lezioni precedenti abbiamo visto il report Prodotti della videata Categorie. Ora supponiamo di voler stampare, per ogni prodotto, un sotto-report che visualizzi gli ordini disponibili per quel prodotto.
Per cominciare aggiungiamo una box vuota che conterrà il sotto-report. Poi aggiungiamo un nuovo sotto-report.
Ora componiamo la Master Query. Tiriamo la tabella Dettagli Ordini sulla Master Query premendo SHIFT e tiriamo fuori le colonne che ci interessa visualizzare: ID Ordine, Prezzo Unitario e Quantità.
Ora, teniamo solo le sezioni che ci interessa visualizzare: Page Header e Detail. Nella prima inseriremo le caption dei campi e nella seconda i valori degli stessi. Poi dobbiamo aggiungere le box ed i relativi span. Instant Developer ci permette di farlo in maniera molto veloce. Tiriamo le colonne che ci interessa visualizzare sulla sezione Detail, controllando quanto suggerito dalla Status Bar. Premendo i tasti SHIFT o CONTROL possiamo aggiungere automaticamente i campi alle sezioni secondo il layout preferito. Facciamolo in modalità Lista con gli Header, quindi senza premere altri tasti. Instant Developer ha aggiunto le box e al loro interno gli span: nella sezione che precede il Detail ha inserito tre span costanti con i nomi dei campi mentre nella sezione Detail gli span con i riferimenti alle colonne della Master Query.
Ora dobbiamo solo completare la Master Query. Dobbiamo selezionare i soli Dettagli relativi al prodotto della riga corrente. Quindi aggiungiamo una clausola Where e selezioniamo tutti i dettagli il cui ID Prodotto è uguale a l'ID della riga corrente.
Ricordiamo che se vogliamo che la box che contiene il sotto-report si allarghi in altezza a seconda del numero di records del sotto-report dobbiamo indicarlo nella proprietà Vertical Resize Mode, mettendo il valore Stretch.
Se, invece, volessimo limitare il numero di righe stampate nel sotto-report potremmo assegnare un valore alla proprietà Max Rows del sotto-report. Facciamolo nell'evento On Load del form. In questo modo il sotto-report stamperà al massimo 5 righe.
Vediamo se abbiamo ottenuto quanto volevamo.