Passa al contenuto principale

DEFEDITMULTISEL

28.2DesktopWebMobileResponsive
Obsoleti

Consente di definite un edit di multiselezione.

Il controllo permette di inserire più campi testuali, identificandoli tramite le loro chiavi o la loro descrizione e di selezionarli tramite l'autocompletamento o la ricerca.
La query di lookup effettua la decodifica del testo applicativo esposto all'utente.

note

Per i prodotti destinati anche alla piattaforma desktop, è necessario porre attenzione ad alcuni accorgimenti per quanto riguarda il layout della videata. Per un corretto comportamento grafico del controllo, è necessario che:

  • La riga che contiene l'edit multisel deve avere il DIMENSIONAMENTOAUTOMATICO
  • Il pannello contenente l'edit multisel deve avere il DIMENSIONAMENTOAUTOMATICO, ricordandosi che il meccanismo va a ridurre la dimensione di partenza e non aumenta mai.
  • Non inserire LAYOUT[#DINAMICA] o ALTEZZADINAMICA[1] onde evitare meccanismi aggiuntivi che implicano il dimensionamento partendo dal controllo

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
NOMEInteroINObbligatorioDesktopWebMobileResponsive
RETINObbligatorioDesktopWebMobile
POSINDesktopWebMobile
DIMINObbligatorioDesktopWebMobile
IDStringaINDesktopWebMobileResponsive
COLLEZIONESELEZIONATICollezione di classiINWebMobileResponsive
COLLEZIONEDATICollezione di BC_DA_VALUE_OPTIONINWebMobileResponsive
COLLEZIONECHIAVICollezione di BC_DA_VALUERef30.7Desktop
OGGETTOCORRENTEClasse BC_DA_VALUERef30.7Desktop
VARVariabileIN32.3WebMobileResponsive
POSTDERIVAZIONEDATIAzioneIN32.0WebMobileResponsive
RICINDesktopWebMobileResponsive
OBBLIGATORIOCondizioneINWebMobileResponsive
COMMENTOVariabileINWebMobileResponsive
SUGGERIMENTOStringaINWebMobileResponsive
COMBOInteroINWebMobileResponsive
CHECKBOXInteroIN31.3Responsive
VARENUMERATOVariabileIN
IDQUERYVariabileINObsoletoWebMobileResponsive
AUTOCOMPLETAMENTONumericoIN30.7DesktopWebMobileResponsive
AZIONEAzioneINDesktop
IDMENUStringaINDesktop
NASCOSTOCondizioneINDesktopWebMobileResponsive
DISABILITATOCondizioneINDesktopWebMobileResponsive
LOOKUPINObbligatorio30.7Desktop
OUTPUTCondizioneIN29.3WebMobileResponsive
GRIDINDesktopWebMobile
PERSONALIZZABILEInteroINBinarioDesktop
LINKTOINWebMobileResponsive
DETTAGLIOBooleanoIN31.1Responsive

NOME

InteroINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobileResponsive

Nome del controllo

RET

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobile

Coordinate della cella del reticolo da associare al controllo.
Queste informazioni hanno lo scopo di inserire il controllo nella logica di gestione degli spostamenti sulla videata.

POS

INInputValore non necessarioValore non necessarioDesktopWebMobile

Posizionamento del controllo.

Consente di indicare la riga e la colonna. Per entrambi è possibile specificare l'unità di misura.

POS[RigaVid [UnitàMisura], ColonnaVid [UnitàMisura]]

note

L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.

DIM

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobile

Dimensione del controllo.

Consente di indicare l'altezza e la larghezza. Per entrambi è possibile specificare l'unità di misura.

DIM[Altezza [UnitàMisura], Larghezza [UnitàMisura]]

note

L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.

ID

StringaINInputValore non necessarioValore non necessarioDesktopWebMobileResponsive

Definisce la variabile o la costante di programma che contiene l'identificatore univoco del controllo.

note

Viene utilizzato dall'ambiente per gestire le personalizzazioni effettuate durante l'esecuzione del programma.

COLLEZIONESELEZIONATI

Collezione di classiINInputValore non necessarioValore non necessarioWebMobileResponsive

Elenco dei valori selezionati nel contesto.

COLLEZIONEDATI

Collezione di BC_DA_VALUE_OPTIONINInputValore non necessarioValore non necessarioWebMobileResponsive

Elenco dei valori da visualizzare.

note

La collezione ad oggi è gestita come datasource in presenza del parametro COMBO.
Il tipo del controllo viene desunto dal primo elemento presente nella COLLEZIONEDATI.

L'utilizzo del parametro esclude l'utilizzo del parametro IDQUERY

COLLEZIONECHIAVI

30.7Collezione di BC_DA_VALUERefReferenzaValore non necessarioValore non necessarioDesktop

Elenco delle chiavi dei record da visualizzare.

OGGETTOCORRENTE

30.7Classe BC_DA_VALUERefReferenzaValore non necessarioValore non necessarioDesktop

Oggetto con la chiave del dato attualmente selezionato.

VAR

32.3VariabileINInputValore non necessarioValore non necessarioWebMobileResponsive

Oggetto contenente la serializzazione delle chiavi di tipo BC_STRING degli oggetti inseriti nel controllo

L'utilizzo del parametro esclude l'utilizzo dei parametri: COLLEZIONESELEZIONATI, COLLEZIONECHIAVI

POSTDERIVAZIONEDATI

32.0AzioneINInputValore non necessarioValore non necessarioWebMobileResponsive
SottoParametri

Callback da eseguire subito dopo quella di derivazione dati del modello.

RIC

INInputValore non necessarioValore non necessarioDesktopWebMobileResponsive
SottoParametri

Attributo di definizione della ricerca

OBBLIGATORIO

CondizioneINInputValore non necessarioValore non necessarioWebMobileResponsive

Consente di indicare l'obbligatorietà del campo.

COMMENTO

VariabileINInputValore non necessarioValore non necessarioWebMobileResponsive
SottoParametri

Tooltip del campo.

SUGGERIMENTO

StringaINInputValore non necessarioValore non necessarioWebMobileResponsive

Consente di visualizzare all'interno del campo di edit un suggerimento sul come o sul perché il campo deve essere compilato.

La stringa automatica non verrà mai restituita al programma BC e sparirà automaticamente appena il campo acquisirà il fuoco.

COMBO

InteroINInputValore non necessarioValore non necessarioWebMobileResponsive

Consente di definire l'edit multiselezione come combo con check di multiselezione.

CHECKBOX

31.3InteroINInputValore non necessarioValore non necessarioResponsive

Consente di attivare l'esposizione con checkbox su tutti gli elementi contenuti in COLLEZIONEDATI.

VARENUMERATO

VariabileINInputValore non necessarioValore non necessario

Variabile tipizzata associata ad un tipo dato avente valori ammessi o query di autocompletamento.

L'utilizzo del parametro esclude l'utilizzo dei parametri: IDQUERY, COLLEZIONEDATI

IDQUERY

VariabileINInputObsoletoObsoletoValore non necessarioValore non necessarioWebMobileResponsive

Identificativo della query di estrazione dati per l'autocompletamento.

AUTOCOMPLETAMENTO

30.7NumericoINInputValore non necessarioValore non necessarioDesktopWebMobileResponsive
SottoParametri

Consente di associare una query da utilizzare per gestire l'autocompletamento.

AZIONE

AzioneINInputValore non necessarioValore non necessarioDesktop
SottoParametri

Azione da richiamare in seguito al doppio click eseguito su un record.

IDMENU

StringaINInputValore non necessarioValore non necessarioDesktop

Consente di definire il menu contestuale da visualizzare da tasto destro su ogni singolo elemento presente nell'edit.

NASCOSTO

CondizioneINInputValore non necessarioValore non necessarioDesktopWebMobileResponsive

Permette di indicare la condizione per nascondere il controllo.

note

La condizione viene applicata solo in fase di creazione della videata (in contesto desktop).

DISABILITATO

CondizioneINInputValore non necessarioValore non necessarioDesktopWebMobileResponsive

Permette di indicare la condizione per disabilitare il controllo.

LOOKUP

30.7INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di definire la query di lookup che estrae la decodifica della chiave e indica il testo che deve essere visualizzato.

OUTPUT

29.3CondizioneINInputValore non necessarioValore non necessarioWebMobileResponsive

Permette di indicare la condizione per rendere in output il controllo.

GRID

INInputValore non necessarioValore non necessarioDesktopWebMobile
SottoParametri

Attached Property per pannello di tipo Grid

PERSONALIZZABILE

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Consente di definire l'oggetto grafico come personalizzabile dall'utente in fase di runtime.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

LINKTO

INInputValore non necessarioValore non necessarioWebMobileResponsive
SottoParametri

Consente di definire un legame tra oggetti video.

DETTAGLIO

31.1BooleanoINInputValore non necessarioValore non necessarioResponsive

Consente di indicare il campo di edit come visualizzabile tramite 'Mostra di più'.

Esempi

Definizione controllo di base

 DIM objCorrente [CLASSE[BC_DA_VALUE]] 
DIM collDati [CLASSE[BC_DA_VALUE] COLLEZIONE]

'@DEFVID DIM[8,90] TIT["Videata"] ID["IDVideata"]

'@DEFGRIDPANEL NOME[GridPanel1] ID["IDGridPanel1"] DIMENSIONAMENTOAUTOMATICO[1] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[30] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[50] LAYOUT[#DINAMICO]]

'@DEFLABEL VAR["Multiselezione"] ID["IDLabel_1"] DIM[1,1] POS[1,1] GRID[COL[2] RIGA[2] COLDIN[1] RIGADIN[1]]

'@DEFEDITMULTISEL NOME[TestMul] _
COLLEZIONECHIAVI[CollDati] _
LOOKUP[QUERY[idQueryLookup] ALIAS["AliasColonnaCalcolataQueryLookup"]] _
AUTOCOMPLETAMENTO[IDQUERY[idQuery]] _
OGGETTOCORRENTE[objCorrente] _
POS[1,1] RET[1,1] DIM[1,1] _
GRID[RIGA[2] COL[4] COLDIN[1] RIGADIN[1]]


'@ENDGRIDPANEL NOME[GridPanel1]

'@RUNVID

Definizione sub di ricerca

 DIM objCorrente [CLASSE[BC_DA_VALUE]] 
DIM collDati [CLASSE[BC_DA_VALUE] COLLEZIONE]

'@DEFVID DIM[8,90] TIT["Videata"] ID["IDVideata2"]

'@DEFGRIDPANEL NOME[GridPanel2] ID["IDGridPanel2"] DIMENSIONAMENTOAUTOMATICO[1] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[30] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[50] LAYOUT[#DINAMICO]]

'@DEFLABEL VAR["Multiselezione"] ID["IDLabel_1"] DIM[1,1] POS[1,1] GRID[COL[2] RIGA[2] COLDIN[1] RIGADIN[1]]

'@DEFEDITMULTISEL NOME[TestMul2] _
COLLEZIONECHIAVI[CollDati] _
LOOKUP[QUERY[idQueryLookup] ALIAS["AliasColonnaCalcolataQueryLookup"]] _
AUTOCOMPLETAMENTO[IDQUERY[idQuery]] _
OGGETTOCORRENTE[objCorrente] _
RIC[Ricerca()] _
POS[1,1] RET[1,1] DIM[1,1] _
GRID[RIGA[2] COL[4] COLDIN[1] RIGADIN[1]]


'@ENDGRIDPANEL NOME[GridPanel2]

'@RUNVID

...
'@SRP Ricerca()

DIM codice[STRING]
DIM descr[STRING]

DIM code[CLASSE[BC_DA_VALUE]]
DIM selectedColl[CLASSE[BC_DA_VALUE] COLLEZIONE]



'@DEFVID DIM[20,50] TIT["Griglia avanzata"] TOOLBAR[IDTOOLBAR["ToolBar"]]

'@DEFTOOLBAR IDTOOLBAR["ToolBar"] _
BOTTONE[IDBOTTONE["SYS_EXIT"] TITOLO["Abbandona"] AZIONE[Abbandona()] ACCELERATORE["F1"]] _
BOTTONE[IDBOTTONE["SYS_OK"] TITOLO["Conferma"] AZIONE[Conferma(code [INOUT], selectedColl [INOUT])] ACCELERATORE["F10"]] _

'@DEFGRIDPANEL NOME[GridPanelRicerca] ID["IDGridPanelRicerca"] TIT["Caricamento dati da query"] _
LAYOUTTIT[STILE[#INTESTAZIONE_VIDEATA] SOTTOTITOLO["Interfaccia Utente - UI Automation"] ] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[49] LAYOUT[#DINAMICO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[26.5] LAYOUT[#DINAMICO]]

'@DEFGRIDADV NOME[GridADV] ID["GRID_QRY"] INSRIGHE[InserimentoRighe()] RET[1,1] POS[1,1] MULTISEL[1] _
GRID[COL[2] RIGA[1] COLDIN[1] RIGADIN[1]]

'@DEFCOLGRIDADV NOMEGRIGLIA[GridADV] ID["UNO"] VAR[codice] LARG[10] TIT["Codice"] CELLA[FMT[TESTO]]
'@DEFCOLGRIDADV NOMEGRIGLIA[GridADV] ID["DUE"] VAR[descr] LARG[30] TIT["Descrizione"] CELLA[FMT[TESTO]] LARGDINAMICA[1]

'@ENDGRIDPANEL NOME[GridPanelRicerca]

'@RUNVID

Return

...
'@SRP Conferma(code[CLASSE[BC_DA_VALUE]] [INOUT], selectedColl[CLASSE[BC_DA_VALUE] COLLEZIONE] [INOUT])

DIM numeroRigheSel[INT] = GridADV.Get_Numero_Righe_Sel()

For I[INT]=1 To numeroRigheSel

'@GETROWGRIDADV NOMEGRIGLIA[GridADV] SEL[I]
code.Clear()
code.SETSTRING("Stringa")
selectedColl.AggiungiValore(code [INOUT])

Next

Return

Definizione sub per doppio click

 DIM objCorrente [CLASSE[BC_DA_VALUE]] 
DIM collDati [CLASSE[BC_DA_VALUE] COLLEZIONE]
DIM var[STRING]

'@DEFVID DIM[8,90] TIT["Videata"] ID["IDVideata3"]

'@DEFGRIDPANEL NOME[IDGRIDPANEL] ID["g1"] DIMENSIONAMENTOAUTOMATICO[1] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
RIGA[ALTEZZA[1] LAYOUT[#DINAMICO] DIMENSIONAMENTOAUTOMATICO[1] ] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO] ] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[30] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[1] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[50] LAYOUT[#DINAMICO]]

'@DEFLABEL VAR["Multiselezione"] ID["IDLabel_1"] DIM[1,1] POS[1,1] GRID[COL[2] RIGA[2] COLDIN[1] RIGADIN[1]]

'@DEFEDITMULTISEL NOME[TestMul3] _
COLLEZIONECHIAVI[collDati] _
LOOKUP[QUERY[idQueryLookup] ALIAS["DES"]] _
AUTOCOMPLETAMENTO[IDQUERY[idQuery]] _
OGGETTOCORRENTE[objCorrente] _
AZIONE[Azione(var, objCorrente [INOUT])] _
POS[1,1] RET[1,1] DIM[1,1] _
GRID[RIGA[2] COL[4] COLDIN[1] RIGADIN[1]]

'@DEFLABEL VAR["Edit"] ID["label_Edit"] DIM[1,1] POS[1,1] GRID[COL[2] RIGA[4] COLDIN[1] RIGADIN[1]]

'@DEFEDIT VAR[var] ID["ID"] FMT[TESTO] DIM[1,1] POS[1,1] RET[4,4] GRID[COL[4] RIGA[4] COLDIN[1] RIGADIN[1]]

'@ENDGRIDPANEL NOME[IDGRIDPANEL]

'@RUNVID

...
'@SRP Azione(var[STRING] [IN], objCorrente[CLASSE[BC_DA_VALUE]] [INOUT])

objCorrente.GETBCSTRING()

If var <> "" Then

'@DEFVIDMSG MSG[var]

EndIf

Return