SETROWGRIDKEY
Consente di associare alla riga della griglia la chiave del record/struttura corrispondente, evitando per le griglie EDITABILI con meccanismo di paginazione il richiamo della specifica @RESETVID quando si aggiunge una riga oppure la si cancella.
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| NOMEGRIGLIA | Intero | ||||
| RIGA | Intero | ||||
| TABELLA | |||||
| TIPOREC | |||||
| QUERY | Long | ||||
| IND | |||||
| VIRTUALE | Intero |
TABELLA
Nome del DFX da cui reperire le caratteristiche della tabella, se sono indicati il dizionario dati e la sua versione fa riferimento la 'fotografia' del DFX alla determinata versione del dizionario dati indicata.
TIPOREC
Tipo record della tabella. Se omesso si utilizza il primo (o unico) tipo record definito per la tabella.
VIRTUALE
Il parametro permette la sovrapposizione tra la gestione delle tabelle su DB e la gestione delle tabelle in Struttura Dinamica.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | la specifica gestisce il normale accesso alla tabella del DataBase. |
1 | la specifica gestisce l'accesso alla Struttura Dinamica in memoria, struttura definita con lo stesso nome del DFX della tabella. |
2 | la specifica gestisce solo l'accesso alla Struttura per le operazioni di LETTURA, mentre vengono gestiti sia il DB che la Struttura per le operazioni di SCRITTURA/CANCELLAZIONE |
Esempi
Associazione chiave record con riga griglia standard
'@SR InsRighe
If ModalitaRiga = 0 Then
GoSub LetturaRecord
If ZENDFIL = 0 Then ExitSr
Else
'@CLEARDBDATA TABELLA[BLDCLIFOR] TIPOREC[CF]
stato = 0
If ModalitaRiga = 2 Then numRiga = numRiga -1
EndIf
'@INSROWGRID NOMEGRIGLIA[GridStandard] RIGA[numRiga] INRIGA[GoSub Scrivi] OUTRIGA[GoSub Scrivi]
If ModalitaRiga = 0 Then
'@SETROWGRIDKEY NOMEGRIGLIA[GridStandard] RIGA[numRiga] _
TABELLA[BLDCLIFOR] TIPOREC[CF] IND[0 \\COD=0\\]
EndIf
'@DEFCELLGRID NOMEGRIGLIA[GridStandard] CELLA[numRiga,1] VAR[CFCOD] FMT[NUMERICO[8]] _
DECOD[GoSub ControllaCod]
'@DEFCELLGRID NOMEGRIGLIA[GridStandard] CELLA[numRiga, 2] VAR[CFPFCOGN$] FMT[TESTO]
Return
...
'@SR Scrivi
DIM tipOp[INT] = 0
If stato = 0 Then
If CFCOD = 0 Then
'@DELROWGRID NOMEGRIGLIA[GridStandard] RIGA[numRiga]
ExitSr
EndIf
'@WRITEDBDATA TABELLA[BLDCLIFOR] TIPOREC[CF] IND[0 \\COD=0\\] _
OPERAZIONE[tipOp] PRIORITA[#UPDATE]
If tipOp = 0 Then
'@SETROWGRIDKEY NOMEGRIGLIA[GridStandard] RIGA[numRiga] TABELLA[BLDCLIFOR] _
TIPOREC[CF] IND[0 \\COD=0\\]
'@RESETVID VID[Videata.GetIdRuntime()] RIGA[numRiga]
EndIf
Else
DIM salvParm[INT] = CFCOD
'@DELDBDATA TABELLA[BLDCLIFOR] TIPOREC[CF] _
IND[0 \\COD=salvParm\\] SELEZIONI[CFCOD = salvParm]
EndIf
Return