chiarimenti datarow e datarowview
giobaxx non è online. Ultima attività: 13/05/2008 15.05.33giobaxx
Inserito il: 06 maggio 2008 14.48
3 messaggi dal 26 apr 2008 Istalla Microsoft Silverlight!
Allora sto cercando di capire come funziona ado.net 2.0 e seguendo alcuni walkthrough sul sito di microsoft ho diciamo scritto un piccolo programma che mi passi dei dati tra due form..

quello che succede nel programma p che nel form1 ho un datagridview che mi visualizza una vista di più tabelle correlate....e facendo un doppio click su una riga del gridview mi si apre la form2 con i dettagli del record selezionato....

Ora per alcuni campi ho sfruttato il mecaniscmo del databindig per altri tipo ad esempio la visualizzazione della giusta tipologia utente su una combobox partendo dall'idutente ho usato il seguente codice:

this.tblUtenteTableAdapter.Fill(this.toolseDataSet.tblUtente);

comboBox1.SelectedValue = ((toolseDataSet.tblToolseRow)((DataRowView)
tblToolseBindingSource.Current).Row).idUtente;

e funziona!..solo che ci sono arrivato copiazzando un pò....e non lo ho capito molto bene
nel progetto ho:

Ho un dataset toolseDataSet
che contiene 2 tabelle tra cui

tblToolse
tblUtente

più una vista qtasklist che è visualizzata sul datagridview

.....ad esempio questa riga cosa fa??

((toolseDataSet.tblToolseRow)((DataRowView)
tblToolseBindingSource.Current).Row).idUtente;

...e questa singola parte di codice esattamente cosa vuol dire??

((DataRowView)tblToolseBindingSource.Current).Row).idUtente;


CIAO e GRAZIE
RE: chiarimenti datarow e datarowview
enzo76 non è online. Ultima attività: 15/05/2008 9.28.13enzo76
Inserito il: 06 maggio 2008 17.35
9 messaggi dal 06 mag 2008 Istalla Microsoft Silverlight!
((toolseDataSet.tblToolseRow)((DataRowView)
tblToolseBindingSource.Current).Row).idUtente;

devi spacchettarla :

(DataRowView)tblToolseBindingSource.Current

Questa è una funzione di cast e dice al compilatore che tblToolseBindingSource.Current è di tipo DataRowView.

A sua volta la classe DataRowView ha come proprieta :

Current

che contiene il record selezionato per reord si intende l'intera riga della tabella. Quindi ne consegue che all'interno dell'intera riga sono presenti i campi e di conseguenza il campo idUtente.
Ne conseguie che per lo stesso discorsi di prima (il casting) viene fuori questa dicitura :

((toolseDataSet.tblToolseRow)((DataRowView)
tblToolseBindingSource.Current).Row)

Che si collega alla riga della tabella continuando col punto puoi modificare o richiedere informazioni sul singolo campo come idUtente.

CAPITO!!!

-----------------------------------------------
per finire hai questo comando :

comboBox1.SelectedValue = ((toolseDataSet.tblToolseRow)((DataRowView)
tblToolseBindingSource.Current).Row).idUtente;

che dice alla combobox di impostare il valore da visualizzare uguale al contenuto attuale del campo idUtente presente nella tabella.

Molto probabilmente la combo ti visualizza la descrizione, perchè hai associato un dataset alla griglia che dice per ogni idUtente quale vlaore visualizzare.

-----------------------------------------------

Buon Lavoro

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 582 pt
vladimiro - 451 pt
PeppeDotNet - 100 pt

Ultimi vincitori: maltra, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio Windows Vista Ultimate, SQL Prompt e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums