Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Aggiungere dati in un datagridview manualmente
giovedì 24 maggio 2007 - 15.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 24 mag 2007 - 15:47
salve ragazzi,
ho deciso di utilizzare per la visualizzazione dei dati un datagridview solo che non voglio procedere con l'utilizzo del dataset ma bensi aggiungere manualmente le righe nel datagridviw
ho scritto così:
For i As Integer = 0 To10
Me.DataGridView1.Rows(i).Cells(1).Value = var_codice
Me.DataGridView1.Rows(i).Cells(2).Value =var_nome
Me.DataGridView1.Rows(i).Cells(3).Value =var_citt
Next i
ma non mi funziona, doce sbaglio?
ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
erongis
Profilo
| Junior Member
137
messaggi | Data Invio:
gio 24 mag 2007 - 16:10
Ti dà un errore in particolare? oppure non fa nulla? Se vai col debug riga per riga, riesci a vedere se i valori si aggiornano?
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 24 mag 2007 - 20:29
si ferma sulla terza riga e di genera il seguente errore:
Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione dell'insieme.
Nome parametro: index
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 24 mag 2007 - 20:56
Prova il mio blog sulla gestione disconnessa di datagridview
http://community.visual-basic.it/lucianob/archive/2007/03/04/18795.aspx
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 24 mag 2007 - 20:59
ok vado a controllare ma volevo chiedere e se dovessi fare così:
For i As Integer = 0 To10
Me.DataGridView1.Rows.Add()
Me.DataGridView1.Rows(i).Cells(1).Value = var_codice
Me.DataGridView1.Rows(i).Cells(2).Value =var_nome
Me.DataGridView1.Rows(i).Cells(3).Value =var_citt
Next i
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
erongis
Profilo
| Junior Member
137
messaggi | Data Invio:
sab 26 mag 2007 - 10:28
>ok vado a controllare ma volevo chiedere e se dovessi fare così:
>
>
> For i As Integer = 0 To10
OK anche se ti consiglio ti scrivere " "For i = 0 to DataGridView1.Rows.count - 1" così se aggiungi in futuro delle righe non devi modificare il ciclo.
>Me.DataGridView1.Rows.Add()
devi scrivere così: "Me.DataGridView1.Rows.Add(1)"
ma solo se le righe non sono già esistenti nella griglia ovviamente, altrimeni non scrivi nulla.
>Me.DataGridView1.Rows(i).Cells(1).Value = var_codice
>Me.DataGridView1.Rows(i).Cells(2).Value =var_nome
>Me.DataGridView1.Rows(i).Cells(3).Value =var_citt
>Next i
Questo va bene, ma dall'errore significa che la colonna 3 non esiste, probabilmente partono da 0 fino a 2
quindi dovrebbe essere:
Me.DataGridView1.Rows(i).Cells(0).Value = var_codice
Me.DataGridView1.Rows(i).Cells(1).Value =var_nome
Me.DataGridView1.Rows(i).Cells(2).Value =var_citt
anche se è meglio utilizzare dele costanti di colonna e passare quelle invece dei numeri, così se in futuro dovessi aggiungere/eliminare colonne (capita sempre, sempre, sempre) saresti a posto.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 26 mag 2007 - 11:16
Ribadisco quanto già detto più volte:
Non ha nessun senso fare una battaglia di retroguardia per mantenere un datagridview non bindato ad un datatable / dataset.
Infatti una fonte dati locale è indispensabile, quella di aggiungere manualmente le colonne è una pura illusione, datagridview si autocostruisce una fonte dati ci fa sopra il binding.
Tanto vale rassegnarsi e se proprio non si vuole un databaase collegato non ci vuole poi molto disegnare un dataset / datatable con l'ide ed utilizzare quello come fonte dati.
erongis
Profilo
| Junior Member
137
messaggi | Data Invio:
dom 27 mag 2007 - 22:15
Non è questo il luogo per fare discussioni teoriche su cosa è meglio e su cosa no in generale. Nello specifico volevo solo dare un consgilio rapido al nostro amico, evitandogli di studiarsi tutto daccapo (magari ha una consegna a breve e non ha tempo di applicarsi per bene.. a me capita sempre :-)).
Se vogliamo poi disctutere su "cosa ha senso e cosa no", permettimi di dissentire dal tuo binding ai dati tramite dataset. Tutti i seminari ai quali ho partecipato, Microsoft e non, sono d'accordo su un punto: "Il binding va bene se hai pochi dati da caricare, ma poi le prestazioni sono insostenibili". Considera che quando usi il binding i dati vengono memorizzati in locale ben TRE volte, immagina che, prove alla mano, se hai una tavola con 2000 records da aprire aspetti anche 30 secondi per aprire una datagrid. Decisamente meglio va se apri una datareader e copi tutto sulla datagrid, tanto il più delle volte, è una cosa in sola lettura e non serve alcun binding.
Comunque, magari è meglio aprire un post in qualche sezione del forum più adatta e sentire gli altri Guru cosa ne pensano.
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 27 mag 2007 - 22:25
Semplicemente dicevo che pensare di gestire datagridview come avveniva con vb6 con la flexgrid è una pia illusione.
Si fa tanta fatica a scrivere del codice per poi ottenere che la fonte dati se la autocostruisce comunque tanto vale creare "volante" una tabella.
Inoltre, contrariamente a quanto pensi (se non devi fare aggiornamenti non hai il binding) il binding c'è sempre, infatti non è altro che il collegamento di un controllo (oggetto) con un'altro oggetto (nel nostro caso la fonte dati locale) locale.
Il passaggio tra la fonte dati locale e il database può, questo sì essere fatto con comandi sql diretti (insert, delete , update) oppure tramite la mediazione del dataadapter/tableadapter.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !