DEFVIDMPAGDYN
Permette di creare, partendo da dei modelli predefiniti, un multipagina senza essere a conoscenza del numero di pagine che lo dovranno comporre.
La fonte dati del controllo è una collezione di tipo BC_VID_MULTIPAGE contenente la definizione delle pagine. La modifica dei dati sulla collezione BC_VID_MULTIPAGE si riflette automaticamente sul componente grafico senza necessità di ulteriori operazioni
Nel caso si debbano eseguire modifiche massive è possibile sospendere l'aggiornamento del controllo video tramite la specifica @SUSPENDEDVIDREFRESH.
Il modello MVC non è applicabile al multipagina dinamico come contenitore, in quanto oggetto video predisposto per contenere n occorrenze della stessa entità. E' invece possibile utilizzarlo all'interno delle singole pagine.
Per forzare il posizionamento del multipagina su una pagina specifica, consultare la specifica ''@DEFVIDPOS
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| NOME | Intero | ||||
| INTESTAZIONE | Azione | ||||
| SELETTORE | |||||
| MODELLO | |||||
| COLLEZIONEPAGINE | Collezione di BC_VID_MULTIPAGE | ||||
| PAGINACORRENTE | Stringa |
NOME
Nome del controllo Multipagina dinamico.
Variabile interna autodefinita. Non richiede di essere dimensionata.
INTESTAZIONE
Definisce una sequenza di istruzioni in cui viene definita la videata di intestazione
SELETTORE
Definisce i parametri principali del selettore.
MODELLO
Elenco dei modelli di pagine da utilizzare in base a quanto definito all'interno della collezione.
COLLEZIONEPAGINE
Elenco delle pagine che compongono il multipagina.
Collezione: collezione di tipo BC_VID_MULTIPAGE
Ogni modifica effettuata sulla collezione si riflette automaticamente sull'interfaccia utente senza dover specificare operazioni di refresh.
Nel caso in cui il multipagina sia costituito da più sorgenti, per motivi strutturali delle videate BC, le modifiche dei dati della collezione possono essere effettuate esclusivamente all'interno di callback del sorgente della videata di dettaglio in esecuzione.
In caso di Ribbon Bar è necessario quindi ridefinire i bottoni all'interno della pagina di dettaglio.
PAGINACORRENTE
Variabile di input/output contenente l'identificativo (inserito all'interno della collezione tipo BC_VID_MULTIPAGE) della pagina. In ingresso, se conterrà un valore, corrisponderà alla scheda di partenza del multipagina. In output, invece, corrisponderà alla pagina corrente.
IdentificativoPagina: deve essere una variabile di tipo stringa.
Esempi
Definizione multipagina dinamico
DIM pagina[CLASSE[BC_VID_MULTIPAGE]]
DIM colPag[CLASSE[BC_VID_MULTIPAGE] COLLEZIONE]
'Valorizzazione ID della pagina corrente
DIM idPag[STRING] = "PAG_DG"
Load(pagina [INOUT], colPag [INOUT])
'@DEFVID DIM[20,70] NOME[Videata] ID["IDVideata"] TIT["Multipagina dinamico"] RIBBON[IDRIBBON["IDRibbon"]]
'Definizione ribbon bar
'@DEFRIBBONBAR IDRIBBONBAR["IDRibbon"] NOME[RibbonBar] _
CATEGORIA[ TIT["Azioni"] ID["C1"] _
GRUPPO[ TIT["Generali"] ID["G1"] _
BOTTONE[ ID["SYS_EXIT"] AZIONE[Abbandona()]] _
]]
'Definizione multipagina dinamico
'@DEFVIDMPAGDYN NOME[MPAG] SELETTORE[TIPO[#VERTICALE] DIM[30] _
IMMAGINE[ ID[1] VALORE["IMG1.PNG"] ] _
IMMAGINE[ ID[2] VALORE["IMG2.PNG"] ] _
IMMAGINE[ ID[3] VALORE["IMG3.PNG"] ] _
] _
COLLEZIONEPAGINE[colPag] _
PAGINACORRENTE[idPag] _
MODELLO[ ID["PAG_DG"] GES[DatiGenerali()] ] _
MODELLO[ ID["PAG_IND"] GES[Indirizzo()] ]
'@RUNVID
...
'SRP richiamata nella Load()
'@SRP CaricaPagine(pagina[CLASSE[BC_VID_MULTIPAGE]] [INOUT], colPag[CLASSE[BC_VID_MULTIPAGE] COLLEZIONE] [INOUT])
' Definizione pagina dati generali
pagina.ID = "pagina_DG"
pagina.TITOLO = "Dati generali"
pagina.MODELLO = "PAG_DG"
pagina.ORDINAMENTO=1
pagina.IDIMMAGINE =1
colPag.ADDPAGE(pagina [INOUT])
' Definizione pagina indirizzo di residenza
pagina.CLEAR()
pagina.ID = "pagina_IND_RES"
pagina.TITOLO = "Indirizzo di residenza"
pagina.MODELLO = "PAG_IND"
pagina.EVIDENZIATA = 1
pagina.ORDINAMENTO=2
pagina.IDIMMAGINE =2
colPag.ADDPAGE(pagina [INOUT])
Return
...
'@SRP DatiGenerali()
'Richiamo sub esterna della videata riguardante i dati generali
Return
...
'@SRP Indirizzo()
'Richiamo sub esterna della videata riguardante l'indirizzo
Return