PDA

Visualizza la versione completa : [VB] Datagrid, Solo per esperti e veri moderatori


w_t
13-05-2002, 13:26
Non capisco una cosa, i programmi gestionali, di contabilita', di magazzino, sviluppati in VB, hanno tutti molti DataGrid che al click su un rigo di essi, avviene il popolamento delle TextBox che gli stanno accanto, dove ci sono visualizzati i dati completi della riga cliccata, vedi il file che ho allegato a questo messaggio,
ma allora se tutti lo usano, non capisco come mai nesuno mi sa dire come si fa per fare tale evento???

se dico:

Ho un DataGrid come quello dell'allegato,
Ho delle TextBox come quelle dell'allegato,

Il mio programma e' una agenda elettronica,

Se clicco in un campo qualsiasi del DataGrid,
voglio raccogliere in una variabile l'ID della tabella del rigo corrispondente e non l'ID del datagrid.

jefferson
13-05-2002, 16:16
potresti fare una select di tutti i campi che ti servono e poi visualizzare solo quelli che ti servono!!
quando poi clikki sul datagrid ti prendi tutti i campi della tua riga selezionata(visibili ed invisibili) e li ,ostri nelle text!!

Per caricarsi la tabella con campi non visibili basta fare una serie di if dopo aver detto "set Data1.datasource = Miorecord"
ad esempio
if Data1.column (1).name = "Colonna 1" then (MAMMA MIA CHE FANTASIA!!)
Data1.column (1).visible = false
end if

Poi il resto e' facile!!
Ciao Jefferson

w_t
13-05-2002, 17:33
Il mio problema e' che non so con quale evento e con quale codice estrarre l'Id della tabella della riga cliccata!!!

In ogni caso dato che e' troppo difficile per me credo che rinuncero', a me servirebbe un codice completo per creare l'evento click sul DataGrid e l'estrazione dell'ID della riga cliccata, ma non l'ID del datagrid, bensi quello della tabella.

Se mi potessi dare una mano in un altra cosa simile accetto volentieri, e accantonerei per il momento questo problema:

Come popolare una "ListView" dove ho creato al suo interno una visulizazione a multicolonna, non so come inserire i dati giusti nella giusta colonna:

ho 10 colonne: Nome, Cognome, Eta', Indirizzo, etc...
estraggo i dati con:
--------------------------------------------------------------------
conn.Open()
Dim comm As New OleDbCommand("Select * From Clienti", conn)
Dim read As OleDbDataReader = comm.ExecuteReader
While read.Read()
ListView1.Items.Add(read("Nome"))
End While
conn.Close()
---------------------------------------------------------------------

jefferson
13-05-2002, 17:56
Non e' difficile....(mi riferisco e l'estrazione dei dati dalla tabella per il datagrid)
TE lo posto io se vuoi....ma nella tua tabella c'e' un campo ID
che fa parte della chiave primaria della tua tabella????
se si...e' semplicissimo!!
Ciao :ciauz:Jefferson

w_t
13-05-2002, 18:02
Certo, c'e' il campo ID nella tabella del Database, solo che non lo visualizzo nel DataGrid, cioe' popolo il DataGrid con questo metodo:

--------------------------------------------------------------------
Dim ds As DataSet
Dim dap As OleDbDataAdapter = New OleDbDataAdapter("SELECT Codice,Prodotto,Quantita,Unit_mis,Prezzo,Iva,Descr izione FROM Prodotti", conn)
dap.TableMappings.Add("Table", "Prodotti")
ds = New DataSet()
dap.Fill(ds)
dgrArticoli.DataSource = ds.Tables("Prodotti")
---------------------------------------------------------------------

ma l'ID c'e' nella tabella.

Loading