Oppure

Loading
12/11/11 12:20
dartraf
Ciao a tutti,

sto realizzando un gestionale per la prima volta con vbnet 2005. Ho due tabelle

clienti(id, cognome, nome, codice_prodotto)
prodotto(id, nome)
Un cliente puo avere un solo prodotto.

Voglio caricare i dati in una datagridview a far in modo che l'utente possa inserire, modificare ed eliminare le righe.
Banalmente apro la connessione con la stringa sql "SELECT * FROM (CLIENTI INNER JOIN PRODOTTI)", carico il dataset1 con il l'adapter e carico i dati nel datagridview con un associazione

dgvGriglia.datasource=dataset1.table(nometabella)

Fin qui non ci sono problemi riesco a vedere tutti i dati (magari nascondo le colonne con gli id). Adesso vorrei che quando l'utente modifica una riga, la colonna del prodotto sia una combo che gli faccia scegliere solo i prodotti effettivamente presente in tabella PRODOTTI. Invece cosi non fa altro che permettere di editare del testo e quando vado a salvare con adapter.update mi da errore.

Forse il problema sta nel fatto che carico un join della datagridview e quindi in realta non è una tabella ma una vista?
Devo gestire le modifiche e gli inserimenti da codice? O esiste un modo "automatico"?

aaa
12/11/11 14:08
HeDo

perchè nel 2011, con visual studio 2011 alle porte, decidi di sviluppare un NUOVO gestionale con visual studio 2005?

io non lo capisco.
aaa
15/11/11 14:32
Il Totem
Dipende. Le viste sono modificabili a patto che siano viste semplici. Se nel tuo caso usi un join per formare la vista, allora le modifiche della datagridview non si ripercuoteranno sulle tabelle. Devi eseguire del codice che modifichi una per una le righe sottese alla vista. In particolare, puoi usare una colonna di tipo DataGridViewComboBoxColumn.
aaa