Esempio di DataMap raggruppata a più livelli

Spesso può capitare che si debba creare un raggruppamento a più livelli in una DataMap e magari non si sa come fare, quindi vorrei condividervi un progetto che fa questa semplice cosa.

Abbiamo la tabella Orders che vorremmo visualizzare raggruppata per Employee e ShipName e visualizzare la data e la città dell’ordine e vogliamo ottenere il risultato dell’immagine seguente.

Come si implementa

Abbiamo una DataMap con il documento Order come fonte dati con ordinamento sui campi lastName,ShipName,OrderDate e raggrupamento sui campi lastName,ShipName.

La DataMap ha come template un item che contiene i dati da visualizzare dell’ordine e un headerTemplate dove visualizzare i dati di rottura. Nel template dell’header viene visualizzato in una label il livello di rottura più alto quello per lastName dell’impiegato dell’ordine.

Quindi è stato implementato l’evento onHeaderComposition della DataMap che è notificato ad ogni cambio di gruppo. In questo evento possiamo sapere quale colonna ha scatenato l’evento a che livello ed altre utili informazioni che ci permettono di cambiare valori nella label a video e gestire l’aspetto del gruppo così da avere il livello in rosso per lastName e in gallo per ShipName.

Un esempio che implementa questo comportamento lo trovate nel progetto datamap-raggruppata-due-livelli. È un progetto pubblico del quale potete fare un fork sul vostro server ide.

Database NwindDB

Per creare il database NwindDB dovete selezionarlo dal Datamodel e utilizando l’icona a forma di ingranaggio in basso sinistra cliccate su sblocca; a questo punto potete cliccare su aggiorna scema ed avrete il db vuoto.
Per caricarvi i dati per il momento potete utilizzare il DB Browse (esecutore delle query nella Console di Instant Developer Cloud).
Vedrete l’elenco delle tabelle e con il doppio click si esegue la query sulla tabella selezionata, quindi cliccate sull’icona di Excel e selezionate importa.
In allegato a questo articolo trovate il file Nwind-Export.zip che contiene i csv da importare che sono numerati nell’odine in cui eseguire l’import.

Nwind-Export.zip (40,9 KB)

5 Mi Piace

Provate a fare un fork del progetto su un vostro server che vediamo su funziona correttamente il tutto.

Non vi ho scritto come trovare il progetto!
Andate nel menu in altro in Console quello con la foglia verde denominato Instant Developer Cloud e poi cliccate su Progetti pubblici nel menu a sinistra e cercate il progetto per nome nel box di ricerca in altro a destra.

Il fork funziona benone, il problema è che poi non trova il database.
image

@angelo.santospago penso che devi selezionare il database e poi sbloccarlo con l’icona a forma di ingranaggio in basso a sinistra come da figura sottostante:

image

Così te lo fa creare.
Poi vediamo come posso passarti un backup.

Grazie Paolo, ma mi sa che è bloccato
image

@angelo.santospago il fork lo hai fatto nella tua organizzazione?
Quando lo apri nell’ide sei sul vostro server di sviluppo?

Il fork me lo fa creare, ma subito dopo:

image

Ora me lo apre (forse dovevo solo lasciargli qualche istante per ragionare), funziona, il database è senza dati ma fa niente, me li copio/creo a manina.
Grazie Paolo!

1 Mi Piace

Per il database vi faccio un export di tutte le tabelle in csv e ve lo metto in zip nel post iniziale con le istruzioni per caricarlo.

Ovviamente no, ho fatto il fork solo nel mio utente :sweat_smile:
Adesso ho cancellato il progetto ed ho effettuato il fork nella mia organizzazione.
Purtroppo, però, non riesco ad aprirlo, come non riesco ad aprire il progetto di cui mi sto occupando perché da parecchi minuti il server IDE1 è in fase di avvio…

Nel post principale di questa discussione ora c’è anche modo di crearsi il database con i dati.

Progetto forkato sulla organizzazione: database sbloccata ed importata che è una bellezza!!!
Grazie!!! :wink: