Newsgroup: it.comp.lang.vo-clipper
Titolo: dubbi su combobox

 
          Salve, è da poco che mi sono avvicinato al vo (2.5 b3) ed ho qualche
perplessità sui combobox.... in particolorare sto sviluppando un programmino
x per mettere in pratica i concetti acquisiti.
ora ho una maschera con un combobox che attinge da un server e mi trovo
difronte a 2 problemi:
il combo è popolato dal cognome come text value e da un id numerico come
value. in caso di omonomie in valore di ritorno è sempre puntato sul primo
che si incontra nella lista anche se ne seleziono un altro.
(lo stesso problema ce l'ho se faccio popolare il combo tramite un metodo o
direttamente con un array bidimensionale). Avrei risolto aggiungendo parte
del nome ma non mi garba.
Non funziona come la buona vecchia achoice() del clipper.
in secondo luogo, dato che il combo si abilita o disabilita in funzione di
un altro campo, nel caso che il combo abbia in partenza un valore 0 mi si
attiva un pulsantino che mi permette di richiamare l'anagrafica dei
"popolandi" facendo riferimento ad una classa derivata dalla classe che le
gestisce .
come faccio ad aggiornare il combo con il nuovo valore dopo il salvataggio
dei dati appena inseriti e la chisura della datawindow attivata dal
pulsante? ho fatto un pò di prove ma non ho partorito.....
mi sono dilungato un pò ma spero di essere stato chiaro.
Avrò lumi?
ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:82Z91Z99Z139Y1...@usenet.libero.it...

Ciao.
Penso che nel metodo ListBoxSelect(oEvent) class MiaFinestra
dovresti mettere una seek(str(self:oDCMiaListBox:Value,10)), nel caso che
l'ID sia numerico e rappresenti l'ID univoco del nominativo.
Attenzione. L'ordine dell'indice deve essere posizionato sull'ID.
Io lo uso così e funziona benissimo.
Se non lavori in rete, come secondo valore potresti passare il numero di
record e nella listboxselect fare un goto del database.
solf:oTabella:GoTo(self:oDCMiaListBox:Value)
Ciao.
Enzo.
----------------------------------------
La mia Cartella di Posta in Arrivo Ã¨ protetta con SPAMfighter
118 messaggi contenenti spam sono stati bloccati con successo.
Scarica gratuitamente SPAMfighter!

 grazie per la risposta, ma il problema non è la seek sul server interessato
ma il value che invece non mi ritorna il valore corretto: faccio un esempio
cognome: rossi nome: antonio id: 5
                   bianchi mario id: 6
                   verdi luca id: 7
                   rossi marco id: 8
ecc
il combo è popolato con la coppia cognome, id . il problema sta nel fatto
che se io seleziono rossi marco nonostante che il currentitemno: sia 4
(nell'esempio) l'id (value) che mi restituisce è sempre e cmq il 5 .
E' come se quando riceve la selezione invece di passare invece di passare
l'indice dell'array da cui estrapolare i dati prendesse solo il text value e
ci facesse una seek sul vettore.. la prima corrispondenza è quella che
prende.. peccato che ce ne siano altre.
per ovviare al problema o gli vado a mettere anche il nome ma sarebbe una
soluzione parziale o mi dichiaro gloable l'array che lo popola e uso in
currentitemno: che è corretto per accedere io all'array e prendermi i dati.
Al mio stato attuale di conoscenze non vedro altre soluzioni.


E' un problema noto dei combobox, io di solito quando ci possono essere dei 
casi di omonimia inserisco nel textvalue anche l'id, tipo {Cognome + id , 
id}, così sono sicuro dei risultati. Non sarà elegante ma funziona al 100%.
Ciao.
                                Francesco 


ok
allora è inutile che ci impazzisca, il fiuto non mi ingannava.
grazie
