[ruby-it] Gestione resultset

Gendag gendag a gmail.com
Sab 7 Apr 2007 16:39:40 CEST


Ricciardi Biagio wrote:
> Grazie mille per il suggerimento,
> ora però, se posso, vorrei chiedertene un'altro.
> Ho una lista di contatti, derivanti dall'interrogazione del dataBase 
> (SELECT * FROM nometabella), ora vorrei poter implementare la DELETE ed 
> eliminare così dei contatti.
> L'idea è quella di selezionare un contatto ed eliminarlo.
> Come faccio a passargli quel contatto selezionato nella query per il 
> DELETE?
Purtroppo ora ho poco tempo, e non riesco a guardare il codice. Io 
solitamente creo nel ListStore una colonna nascosta che, per ogni riga,
contiene l'id del contatto. In questo modo quando selezioni una riga da 
cancellare, basta che recuperi l'id e lo rimuovi.

Chiaramente la colonna con l'id  e' nascosta, in modo che non venga 
visualizzata all'utente. Per creare una colonna nascosta, e' sufficiente 
che non la specifichi in fase di inizializzazione della TreeView.

Per esempio, guardando il tuo codice, dalla riga 48 inizializzi i 4 
TreeViewColumn e poi li aggiungi alla view con view.append_column().
Ora e' sufficiente che durante la creazione del ListStore alla riga 45, 
cambi il codice da:
model = Gtk::ListStore.new(String, String, String, String)
a:
model = Gtk::ListStore.new(String, String, String, String, Integer)
Nell'ultima colonna ci metti gli id, pero' dal momento che non crei il
TreeViewColumn, questa colonna rimarra' non visibile all'utente.

ciao!
Gendag



Maggiori informazioni sulla lista Ml