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 14:35] – 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: |
| \\ | \\ | ||
| - | + | | |
| - | | + | |
| < | < | ||
| | | ||
| - | $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-> | ||
| .... | .... | ||
| </ | </ | ||
| + | \\ | ||
| + | Se nella select quindi specificheremo ad esempio:\\ | ||
| + | | ||
| - | **Nota.** | + | Avremo come indice |
| - | Questa elaborazione è necessaria nel momento in cui la query che passiamo sarà il risultato di più JOIN a più tabelle.\\ | + | \\ |
| + | \\ | ||
| + | ---- | ||
| + | \\ | ||
| + | == Elabora Record == | ||
| \\ | \\ | ||
| - | Se invece si vuole creare | + | 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' | + | < |
| + | 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-> | ||
| + | array( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | $ita_grid01-> | ||
| + | // Elabora il risultato | ||
| + | $Result_tab = $ita_grid01-> | ||
| + | $Result_tab = $this-> | ||
| + | $ita_grid01-> | ||
| + | | ||
| + | </ | ||
| + | \\ | ||
| + | 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, | ||
| + | | ||
| + | |||
| + | Come detto in precedenza la griglia prende automaticamente l' | ||
| + | Per risolvere questo conflitto di Indici, possiamo pertanto ricorrere alla creazione di un ReaderId Composto: | ||
| + | Dovremo ,quindi, nell' | ||
| + | \\ | ||
| + | \\ | ||
| + | **Esempio Guidato: | ||
| \\ | \\ | ||
| - | Esempio:\\ | ||
| In una tabella abbiamo: | In una tabella abbiamo: | ||
| TABELLA: OPERAI JOIN PRODUZIONI | TABELLA: OPERAI JOIN PRODUZIONI | ||
| Linea 59: | Linea 138: | ||
| | 004 | Verdi | Rosa | | | 004 | Verdi | Rosa | | ||
| \\ | \\ | ||
| - | Vogliamo che al doppioclick su una riga vengano elencati tutti i prodotti creati | + | Vogliamo che all' |
| + | \\ | ||
| + | Procedimento: | ||
| + | \\ | ||
| Dopo aver aggiunto nella gird del model il **ReaderId** | Dopo aver aggiunto nella gird del model il **ReaderId** | ||
| - | Questa rielaborazione la possiamo | + | Questa rielaborazione |
| + | < | ||
| + | function elaboraRecords($Result_tab) { | ||
| + | foreach ($Result_tab as $key => $Result_rec) { | ||
| + | $Result_tab[$key][' | ||
| + | |||
| + | } | ||
| + | return $Result_tab; | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | Come possiamo | ||
| + | \\ | ||
| + | Dopo di che, per poter utilizzare questo **Indice Composto**, all' | ||
| < | < | ||
| - | $sql=$this->CreaSql(); | + | |
| - | $ita_grid01 = new TableView($this-> | + | case |
| - | array( | + | |
| - | ' | + | $Codice=$chiavi[' |
| - | ' | + | |
| - | ' | + | |
| + | $ita_grid01 = new TableView($this-> | ||
| + | array( | ||
| + | ' | ||
| + | ' | ||
| $ita_grid01-> | $ita_grid01-> | ||
| $ita_grid01-> | $ita_grid01-> | ||
| - | $ita_grid01-> | + | $ita_grid01-> |
| - | $ita_grid01-> | + | $ita_grid01-> |
| - | | + | $ita_grid01-> |
| - | $Result_tab = $ita_grid01-> | + | break; |
| - | | + | } |
| - | | + | break; |
| </ | </ | ||
| - | + | L'explode ci restituirà quindi un array con le 2 chiavi che ci servono e come nell'esempio potremo utilizzarle nella SELECT per estrarre solo ciò che ci serve. | |
| - | La funzione **elaboraRecords**. | + | {{counter}} visualizzazioni. |
| - | In questa funzione provvederemo a rielaborare il nostro nuovo Rowid: | + | |
sviluppo/readerid.1358433345.txt.gz · Ultima modifica: (modifica esterna)
