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
.NET Framework
Caricamento datagridview
sabato 23 febbraio 2008 - 20.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Dracy
Profilo
| Newbie
3
messaggi | Data Invio:
sab 23 feb 2008 - 20:20
Salve, è la prima volta che scrivo, ma diciamo che spesso faccio un salto in queso forum a dare un'occhiata..
volevo esporvi il mio problema:
ho una datagridview..ma mi serviva caricarci i dati da un db (in modalità connessa) solamente che mi dà un errore alquanto strano..dice che non è possibile aggiungere delle righe perchè non ci sono le colonne
il problema è che le colonne ci sono..e la cosa ancora più bizzarra è che se al posto del valore del db ne metto uno qualsiasi (es. dg.Item("dgc1", k).Value = k) in un ciclo for..funziona! mi carica tutti gli elementi..se (con lo stesso codice) metto invece dg.Item("dgc1", k).Value = (mDataReader("ID")) mi dà quell'errore.
Ho pensato quindi che fosse un problema di db..macchè funziona anche quello
Ora..dopo 1 anno e mezzo di vb sò che sono sempre gli errori più banali a farà perdere più tempo..ma questo me lo porto da quasi 2 settimane
qualcuno ha qualche idea?
grazie
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
sab 23 feb 2008 - 21:56
potresti postare il codice che usi x popolare il dgv?
ciao
Ale
http://blogs.dotnethell.it/alebadalin
Dracy
Profilo
| Newbie
3
messaggi | Data Invio:
sab 23 feb 2008 - 22:28
ciao, si certamente..
questo è il codice che nel load del form mi funziona:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dg.Rows.Add(10) 'Aggiunge n righe vuote pronte per essere riempite
For k = 0 To 10
dg.Item("dgc1", k).Value = k 'Aggiunge in base alla colonna specificata il valore specificato
dg.Item("dgc2", k).Value = k + 1
Next
End Sub
Questo è quello che non è nel load ma in una procedura che viene richiamata in fase di caricamento
'ometto la parte di connessione al db..che comunque ho provato con una listview e funziona
dg.Rows.Add(10) '10 è un numero provvisorio, i dati nel db non superano i 10
Dim k As Integer
Do While mDataReader.Read
dg.Item("cl1", k).Value = (mDataReader("ID")) 'Aggiunge in base alla colonna specificata il valore specificato
dg.Item("cl2", k).Value = (mDataReader("Nome"))
k+=1
Loop
se metto dg.Rows.Add(10) proprio nel load funziona..ma si impianta nel ciclo
se metto dg.Rows.Add(10) li dove è adesso si impianta all'aggiunta delle righe
non sò più dove sbatter la testa..
grazie comunque per l'interesse
Ferux
Profilo
| Newbie
44
messaggi | Data Invio:
lun 25 feb 2008 - 10:14
Ciao,
prova cosi:
1- Elimina la funzione che ti crea le 10 righer
2- Nella funzione nella quale cicli il DataReader, costruisciti un dataset dinamico e poi lo bindi al datagridview.
DataSet ds = new DataSet();
ds.Table.Add("tabella1");
ds.Table("Tabella1").Columns.Add("col1");
ds.Table("Tabella1").Columns.Add("col2");
ciclo datareader
Datarow dr = ds.table("tabella1").NewRow();
dr("col1") = datareader("");
.......
ds.table("").rows.Add(dr);
//fine ciclo
return ds;
Spero di averti fatt ocapire la filosofia del ragionamento
Saluti
Ing Ferux
[MCP MCAD]
Dracy
Profilo
| Newbie
3
messaggi | Data Invio:
mer 27 feb 2008 - 03:07
Ciao,
grazie per la risposta ma credo che il codice che mi hai scritto non sia 2005..in generale comunque l'ho adattato, ma non riesco ad inizializzare DataSet ds = new DataSet(), mi dà errore sul ds.
Mentre aspettavo una risposta comunque, sono riuscito a far partire il codice, in pratica ho scoperto che se 2 o più procedure interagiscono quasi in contemporaneo con il dg si blocca..cosa che non mi è mai accaduta con listview e altri oggetti.
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 !