sviluppo:readerid
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| sviluppo:readerid [2013/01/17 13:51] – a.mucci | sviluppo:readerid [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1 | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | ==== Inserimento di un Rowid Specifico in Tabella | + | ==== Inserimento di un indice |
| - | Se si vuole inserire un Rowid diverso da quello di Default | + | Il ReaderId è l' |
| + | Se nella querry che viene passata alla Grid non è presente un Indice, il ReaderId viene automaticamente assegnato e assume valori in ordine Crescente.\\ | ||
| + | \\ | ||
| + | Esempi: | ||
| - | | + | 1) |
| - | Dove ' | + | |
| + | In questo caso abbiamo preso tutto, compreso l' | ||
| + | |||
| + | 2) | ||
| + | Se invece prendiamo solo determinati campi dalla tabella DIPENDENTI: | ||
| + | |||
| + | | ||
| + | |||
| + | L' | ||
| + | \\ | ||
| + | |||
| + | Se nella griglia si vuole utilizzare un Indice differente dall' | ||
| + | |||
| + | * 1) Nel model della grid inserire l' | ||
| + | Dove ' | ||
| \\ | \\ | ||
| Esempio: | Esempio: | ||
| ^ Nome Attributo | ^ Nome Attributo | ||
| - | | class | {cellEdit: | + | | class | {cellEdit: |
| + | \\ | ||
| + | * 2) Nel programma, al momento della creazione della griglia, dovremo aggiungere all' | ||
| + | < | ||
| + | | ||
| + | $ita_grid01 = new TableView($this-> | ||
| + | array( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | .... | ||
| + | </ | ||
| \\ | \\ | ||
| + | Se nella select quindi specificheremo ad esempio:\\ | ||
| + | | ||
| + | Avremo come indice il Codice del Dipendente. | ||
| + | \\ | ||
| + | \\ | ||
| + | ---- | ||
| + | \\ | ||
| + | == Elabora Record == | ||
| + | \\ | ||
| + | |||
| + | Nel Caso in cui vogliamo Elaborare il risultato della nostra tabella per un qualsiasi motivo, come ad esempio l' | ||
| + | Questo tipo di funzione ci permette di **Rielaborare** l' | ||
| + | | {{ : | ||
| + | \\ | ||
| + | Per ottenere un' | ||
| + | \\ | ||
| + | * 1) Creare la Funzione di rielaborazione: | ||
| - | * Nell' | ||
| < | < | ||
| - | $sql=$this->CreaSql('Ditta'); | + | |
| + | function elaboraRecords($Result_tab) { | ||
| + | foreach ($Result_tab as $key => $Result_rec) { | ||
| + | $Result_tab[$key][' | ||
| + | $Result_tab[$key][' | ||
| + | } | ||
| + | return $Result_tab; | ||
| + | } | ||
| + | </ | ||
| + | \\ | ||
| + | In questa funzioene viene passato l' | ||
| + | |||
| + | |||
| + | * 2) Al momento della creazione della tabella, richiamiamo la funzione appena creata: | ||
| + | |||
| + | < | ||
| + | | ||
| $ita_grid01 = new TableView($this-> | $ita_grid01 = new TableView($this-> | ||
| array( | array( | ||
| - | ' | + | ' |
| ' | ' | ||
| ' | ' | ||
| $ita_grid01-> | $ita_grid01-> | ||
| $ita_grid01-> | $ita_grid01-> | ||
| - | $ita_grid01-> | + | $ita_grid01-> |
| $ita_grid01-> | $ita_grid01-> | ||
| // Elabora il risultato | // Elabora il risultato | ||
| $Result_tab = $ita_grid01-> | $Result_tab = $ita_grid01-> | ||
| $Result_tab = $this-> | $Result_tab = $this-> | ||
| + | $ita_grid01-> | ||
| + | | ||
| </ | </ | ||
| - | |||
| - | **Nota.** | ||
| - | Questa elaborazione è necessaria nel momento in cui la query che passiamo sarà il risultato di più JOIN a più tabelle.\\ | ||
| \\ | \\ | ||
| + | E come possiamo notare la griglia viene creata utilizzando l' | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | ----- | ||
| + | \\ | ||
| + | \\ | ||
| + | \\ | ||
| + | Nel caso in cui la SELECT preveda una JOIN con più tabelle e non si ha la possibilità di selezionare un determinato indice da una TABELLA sarà necessario ricorre ad un Funzione Elabora Record e alla creazione di un ReaderId composto da più Campi.\\ | ||
| + | Questa funzione è necessaria sopratutto con una JOIN di più tabelle, perchè non sempre è possibile selezionare un solo campo:\\ | ||
| + | \\ | ||
| + | Immaginiamo di avere 2 tabelle: ANAGRAFICA_SOGGETTO e ANAGRAFICA_IMMOBILE e che entrambe racchiudono tanti campi anagrafici importanti, | ||
| + | | ||
| - | Se invece | + | Come detto in precedenza la griglia prende automaticamente l' |
| - | + | Per risolvere questo conflitto di Indici, possiamo pertanto ricorrere alla creazione di un ReaderId Composto: | |
| - | * Nell' | + | Dovremo ,quindi, nell' |
| + | \\ | ||
| + | \\ | ||
| + | **Esempio Guidato: | ||
| \\ | \\ | ||
| - | Esempio:\\ | ||
| In una tabella abbiamo: | In una tabella abbiamo: | ||
| - | TABELLA: | + | TABELLA: |
| - | ^ CodiceDipendente | + | ^ CodiceDipendente |
| - | | 001 | Rossi | Luigi | 22/ | + | | 001 | Rossi | Luigi | 22/ |
| - | | 001 | Rossi | Luigi | 25/ | + | | 004 | Verdi | Rosa | |
| - | | 001 | Rossi | Luigi | 22/ | + | |
| - | | 004 | Verdi | Rosa | | + | |
| Le tabelle senza JOIN :\\ | Le tabelle senza JOIN :\\ | ||
| - | \\ | ||
| - | TABELLA: PRODOTTICREATI | ||
| - | ^ CodiceDipendente | ||
| - | | 001 | 22/ | ||
| - | | 001 | | ||
| - | | 001 | 22/ | ||
| - | | 004 | | ||
| \\ | \\ | ||
| TABELLA: PRODUZIONI | TABELLA: PRODUZIONI | ||
| + | ^ CodiceProdotto ^TipoProdotto ^ CodiceDipendente | ||
| + | | BX01 | BulloneB | ||
| + | | BX01 | BulloneA | ||
| + | | BX04 | BulloneC | ||
| + | | BC9F | ChiodoB | ||
| \\ | \\ | ||
| - | ^ CodiceDipendente | + | TABELLA: OPERAI |
| - | | 001 | Rossi | Luigi | 22/ | + | |
| - | | 001 | Rossi | Luigi | 25/ | + | |
| - | | 001 | Rossi | Luigi | 22/ | + | |
| - | | 004 | Verdi | Rosa | 22/ | + | |
| \\ | \\ | ||
| - | Vogliamo che al doppioclick su una riga vengano elencati | + | ^ CodiceDipendente |
| + | | 001 | Rossi | Luigi | | ||
| + | | 004 | Verdi | Rosa | | ||
| + | \\ | ||
| + | Vogliamo che all' | ||
| + | \\ | ||
| + | Procedimento: | ||
| + | \\ | ||
| + | Dopo aver aggiunto nella gird del model il **ReaderId** | ||
| + | Questa rielaborazione può essere fatta sempre attraverso la funzione **ElaboraRecords** :\\ | ||
| + | < | ||
| + | function elaboraRecords($Result_tab) { | ||
| + | foreach ($Result_tab as $key => $Result_rec) { | ||
| + | $Result_tab[$key][' | ||
| + | |||
| + | } | ||
| + | return $Result_tab; | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | Come possiamo notare il nostro Indice ' | ||
| + | \\ | ||
| + | Dopo di che, per poter utilizzare questo **Indice Composto**, all' | ||
| + | |||
| + | < | ||
| + | | ||
| + | case $this-> | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | array( | ||
| + | ' | ||
| + | ' | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | break; | ||
| + | } | ||
| + | break; | ||
| + | </ | ||
| + | L' | ||
| + | {{counter}} visualizzazioni. | ||
sviluppo/readerid.1358430673.txt.gz · Ultima modifica: (modifica esterna)
