Newsgroup: it.comp.lang.visual-basic
Titolo: [.Net] Pulire il datagrid

Ciao,
ho una form con due tab. Sul primo tab c'è un datagrid, cliccando un
record, nel secondo tab si carica un altro datagrid corrispondente
(tabella collegata nel db).
Il problema è questo:
quando torno nel primo tab e clicco un altro record, i record relativi non
sostituiscono quelli del secondo datagrid (nell'altro tab), ma vengono
aggiunti.
Allora ho cercato di pulire prima il secondo datagrid ogni qual volta
viene caricato con:
datagrid2.datasource = nothing
ma non da risultato.
Allora ho provato a mettere nell'evento della selezione del record (nel
primo tab) la pulizia della tabella del dataset su cui si appoggia il
datagrid2 (il datagrid che c'è nel secondo tab):
dsdata.tables("tblArticoli").clear()
Ma il programma va in errore perché dice che non è istanziato (per forza,
perché la prima volta quella tabella non è stata ancora istanziata).
Allora ho risolto in modo assurdo, ho messo un if con una variabile
booleana che mi tiene in memoria se il datagrid2 è già stato riempito, se
sì allora pulisco la table del dataset....
Siccome la mia soluzione, funzionante, mi pare assurda, chiedo come voi
risolvereste la questione.
Grazie e scusate la lunghezza.
P.S. io il datagrid lo popolo con ".datasource", è sbagliato?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 P.S. io il datagrid lo popolo con ".datasource", è sbagliato?
e che cosa usi come datasource?
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

Ciao,
ho una form con due tab. Sul primo tab c'è un datagrid, cliccando un
record, nel secondo tab si carica un altro datagrid corrispondente
(tabella collegata nel db).
Il problema è questo:
quando torno nel primo tab e clicco un altro record, i record relativi non
sostituiscono quelli del secondo datagrid (nell'altro tab), ma vengono
aggiunti.
Allora ho cercato di pulire prima il secondo datagrid ogni qual volta
viene caricato con:
datagrid2.datasource = nothing
ma non da risultato.
Allora ho provato a mettere nell'evento della selezione del record (nel
primo tab) la pulizia della tabella del dataset su cui si appoggia il
datagrid2 (il datagrid che c'è nel secondo tab):
dsdata.tables("tblArticoli").clear()
Ma il programma va in errore perché dice che non è istanziato (per forza,
perché la prima volta quella tabella non è stata ancora istanziata).
Allora ho risolto in modo assurdo, ho messo un if con una variabile
booleana che mi tiene in memoria se il datagrid2 è già stato riempito, se
sì allora pulisco la table del dataset....
Siccome la mia soluzione, funzionante, mi pare assurda, chiedo come voi
risolvereste la questione.
Grazie e scusate la lunghezza.
P.S. io il datagrid lo popolo con ".datasource", è sbagliato?
-- 


 e che cosa usi come datasource?
esempio:
datagrid1.datasource = dsdata.tables("tblArticoli")
Funziona benone, non so però se è il miglior metodo


 Funziona benone, non so però se è il miglior metodo
se tu utilizzassi un dataview, potresti di volta in volta modificare il
filtro.


 P.S. io il datagrid lo popolo con ".datasource", è sbagliato?
No, è giusto.
Ciao
-- 
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 No, è giusto.
però è meglio usare un dataview come sorgente? piuttosto che una tabella
di dataset?
grazie mille per la pazienza


 di dataset?
La teoria vorrebbe che la DataTable contiene i dati "fisici", mentre la 
DataView č l'oggetto su cui lavorare, poi a volte viene piů comodo usare 
direttamente la DataTable.
La DataView altro non č che una classe che partendo da una DataTable ti 
crea delle viste personalizzate dei dati (un po' limitata a dire il vero).
