Newsgroup: it.comp.lang.visual-basic
Titolo: [?] cosa usare per gli elenchi di record? Grid, listview, o qualcos'altro ancora?

Ciao a tutti.
Mi trovo in un progetto a dover replicare il funzionamento delle maschere
continue di Access; mi serve cioè di mostrare all'utente un elenco di
record, e di permettergli di editarli. questo elenco però potrebbe essere
composto da diversi controlli (combobox, checkbox, ecc.). Inoltre è
necessaria una validazione che potrebbe essere anche complicata su ogni
campo, alcune colonne devono essere bloccate, e bisogna intercettare la
scrittura del rec nel db per generare un log.
In access sarebbe un lavoro di 5 minuti con le maschere continue. In Vb,
purtroppo, no.
Dunque la mia domanda è questa:
Come conviene procedere?
Ipotesi considerate:
1) usare una grid; non so se permetta di fare tutte le cose elencate sopra,
perchè non la conosco bene, ed in caso negativo, non so che limiti mi
impone.
2) usare una listview e gestire a mano la paginazione; mi impedisce di usare
combobox o altro, e richiede molto codice per gestire la paginazione (à la
clipper)
3) Datarepeater, questo sconosciuto. Ne ho sempre sentito parlare male, e
poi richiede un controllo collegato ad una sorgente dati, mentre l'idea
sarebbe di gestire i dati con una classe, che poi si occupa dei log, e di
altre operazioni collaterali.
Premetto che non chiedo a nessuno di studiarsi questi oggetti al posto mio,
semplicemente prima di cominciare a spulciarmeli, siccome sono certo che
molti di voi hanno già affrontato questo problema, vorrei sapere se esiste
un qualche metodo che io non conosco, e che conviene di più, oppure se
qualcuno di quelli che ho elencato è particolarmente adatto o inadatto, per
qualche motivo che mi sfugge.
Grazie a tutti
Ciao
Alfonso

altre operazioni collaterali.
motivo in piu', imho, per utilizzare una griglia
hth, hal

 motivo in piu', imho, per utilizzare una griglia
Grazie Hal, unica voce amica nel deserto:)
Giacchè ci sei, mi confermi che per usare combobox, checkbox, ecc. devo
sovrapporli alla grid. e per caso sai (ho già guardato sul sito comune...)
se da qualche parte c'è un po' di codice sorgente?
Ciao
un Alfonso sfaticato...

 se da qualche parte c'è un po' di codice sorgente?
Te lo confermo io.
Non so se ci sia codice sorgente da qualche parte, anche perchè
personalmente non amo le maschere continue di Access...     :-PPP
Cmq io di solito procedo così:
- Datagrid associata al recordset
- serie di controlli associati essi pure al recordset ma posizionati, più
banalmente, sul form.
Perchè non ti va?
ciao
ugo

 ha scritto nel messaggio
news:9n007p$cgf$1...@lacerta.tiscalinet.it...

non è che non mi va...
Ti spiego meglio cosa devo fare:
devo realizzare un "inserimento veloce". Cioè gli operatori devono immettere
una grandisima quantità di dati, alla massima velocità, ed io devo fare in
modo che non abbiano rallentamenti e che i dati inseriti siano validati.
quindi ad esempio mi serve di poter decidere che l'inserimento avvenga
soltanto su due campi, magari un checkbox ed un combobox. Per andare veloce,
però, l'utente deve avere una lista di record, che vede tutti insieme, e
digitando deve passare automaticamente al successivo. Ecco perchè parlo
delle maschere continue di access, perchè permettono il massimo controllo
della digitazione pur consentendo di utilizzare metodi di input diversi dal
textbox. Il punto fondamentale, comunque, è che devo avere un
inserimento/modifica di cui ho il pieno controllo, in una griglia.
qualche idea?
ciao e grazie
Alfonso

 devo realizzare un "inserimento veloce".
Beh, se deve essere un "dataentry very fast", io farei così:
- Usi dei banali textbox (o check se servono)
- trappi la chr(13) e la porti a tab
- nella validate, solo dove serve, eseguo una query sql che mi apre una
nuova datagrid per scegliere il dato (se già non l'ho scritto correttamente)
- al termine dell'ultimo controllo, nella lostfocus, metto una movenext del
recordset
- ebventualmente assegno ad un tasto funzione un "salva e vai al
seguente"...
- fatta salva, naturalmente, la possibilità di selezionare dalla grid di
base
Così è veloce, non ti da le grane che ti da la datagrid, più chiaro per
l'utente
ciao
ugo