Passa al contenuto principale

DEFVIDMPAGDYN

Desktop

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.

warning

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

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
NOMEInteroINObbligatorioDesktop
INTESTAZIONEAzioneINDesktop
SELETTOREINObbligatorioDesktop
MODELLOINObbligatorioRipetibileDesktop
COLLEZIONEPAGINECollezione di BC_VID_MULTIPAGEDesktop
PAGINACORRENTEStringaOUTObbligatorioDesktop

NOME

InteroINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Nome del controllo Multipagina dinamico.

note

Variabile interna autodefinita. Non richiede di essere dimensionata.

INTESTAZIONE

AzioneINInputValore non necessarioValore non necessarioDesktop
SottoParametri

Definisce una sequenza di istruzioni in cui viene definita la videata di intestazione

SELETTORE

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop
SottoParametri

Definisce i parametri principali del selettore.

MODELLO

INInputObbligatorioObbligatorioRipetibileRipetibileValore non necessarioValore non necessarioDesktop
SottoParametri

Elenco dei modelli di pagine da utilizzare in base a quanto definito all'interno della collezione.

COLLEZIONEPAGINE

Collezione di BC_VID_MULTIPAGEValore non necessarioValore non necessarioDesktop

Elenco delle pagine che compongono il multipagina.
Collezione: collezione di tipo BC_VID_MULTIPAGE

note

Ogni modifica effettuata sulla collezione si riflette automaticamente sull'interfaccia utente senza dover specificare operazioni di refresh.

warning

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

StringaOUTOutputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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