Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[vb2008] Datagridview e databindigs con master details
Ultimo Post 12 mag 2010 12.02 by Hidden. 4 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Non risolto

Posts:663

--
07 mag 2010 18.14  
Salve a tutti ho un piccolo problema con datagridview e databindings.

Vi spiego il problema.
Ho un dataset con tre tabella
Ordini  --- Prodotti --- Colori

In una form ho una datagridview attraverso il quale viene effettuato il salvataggio, la modifica e l'eliminazione dei dati. Gestisco l'evento RowValideta per effettuare l'update del dataset.

Ora il mio problema è questo
Nella tabella ordini io inserisco il codice del prodotto e il codice del colore con altri dati.

Ora avrei bisogno che sia durante l'iserimento che durante la lettura dei dati o la modifica vorrei aggiungere due colonne ( alla datagridview ) che mi mostrino la descrizione del codice del prodotto e la descrizione del colore. 
 
Come posso fare?
Cosa mi consigliate di fare per risolvere questo inconveniente?

Vi ringrazio per il vostro aiuto.

Posts:811

--
11 mag 2010 09.32  
Modifica la query di select con cui riempi la grid aggiungendo la join con le tabelle che ti servono per visualizzare i campi, oppure, ma non so se la datagridview standard lo permette, crea due colonne al volo a manina e riempile con i valori delle descrizioni mentre carichi le righe
sempre che ci sia un evento Row initialize.

ciao
Sabrina
Sabrina

Posts:663

--
12 mag 2010 07.01  
Penso che opterò e proverò la prima soluzione in quanto con la seconda ho già provato ma ad ogni refresh del datagridview mi svuota le colonne, e quindi dovrei riempirle di nuovo con un metodo che verebbe rilanciato un'infinitò di volte durante l'esecuzione del programma. Magari provo come mi hai detto tu.

L'unica cosa che poi non mi torna è quando vado a fare l'update, l'insert e il delete. Come funziona?
Partendo dal presupposto che io non ho nessun pulsante di salva aggiungi elimina ma ho solo un datagridview bindata dove vado ad effettuare tutte le operazione gestendo gli eventi rowvalidate e altri, come verebbe gestita la situazione?
Faccio un Fill che mi riempia la datagridview con una query con un join mentre per l'update, insert e delete utilizzo una query senza join?
Ma gestendo tutto da Datagridviw quando vado a fare l'update o l'insert o il delete non mi trovo 2 campi in più nell'query che mi possono generare un'eccezione?

Calcola che il tutto è stato cominciato con l'utilizzo del widzard anche se penso che questo non sia influente.

Grazie

Posts:811

--
12 mag 2010 11.40  

Se stai utilizzando una classe tableadapter o comunque una classe dati standard ADO.Net, c'è di mezzo un DataAdapter con 4 command SQL o 4 Stored procedure, se hai bisogno che la select faccia 17 join per darti tutti i dati che ti servono basta che tu crei la select come preferisci e poi modifichi il comando Select o la SP di Select, e, se vuoi proprio essere precisissimo, copi poi lo stesso comando select sulla SP di insert e Update nella zona ove dopo l'insert o l'update rilegge il record da database.

I comandi Insert, Update e Delete invece rimangono come li hai disegnati e ADO si occupa di tutto.

saluti

 

Sabrina

Posts:663

--
12 mag 2010 12.02  
Ok perfetto era proprio quello che volevo capire.
Quindi nel fare il fill lui mi recupera i dati con tutti i join che mi servono e me li binda in una datagridview quando poi modifico i dati nella mia datagridview quindi faccio un update insert o delete Ado si preoccupa di prendersi solo i campi interessati per fare l'aggiornamento del database.
Ottimo!! questa è una cosa che fino ad ora non sapevo o inconsciamente avevo ignorato .

Ok
Grazie
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Unit Testing del codice (parte 1)
Le basi per la costruzione di test per rendere più solido il nostro codice
2007/12/26 | Autore: Sabrina Cosolo
Addin per Live Writer
Programmer Paster, un Addin per Live Writer che colora il codice sorgente inserito nei Post dei Blog
2007/11/11 | Autore: Rudy Azzan
Fritto misto - Classi di uso comune (parte 2)
Helper: Una classe per la Serializzazione XML delle classi dati
2007/10/21 | Autore: Sabrina Cosolo
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Autore: Patrizia Cosolo
Visual Studio LightSwitch Beta 1 - Installazione
La procedura di installazione e le risorse sul web
2010/08/24 | Autore: Mario De Ghetto
Panoramica del Sistema dei Comandi
Come iniziare a capire com'è fatto WPF (parte 5)
2007/09/30 | Autore: Patrizia Cosolo
Copiare dati fra Database con ADO.Net
Da Qui a Li e da Li a Qui usando OleDb e Access
2009/02/14 | Autore: Sabrina Cosolo
Assembly Strong Named
Firma digitale degli Assembly, uso e funzionalità
2007/08/05 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.