Collegare due datagrid a due query diverse

sabato 28 maggio 2011 - 13.02
Tag Elenco Tags  C#  |  .NET 3.5  |  Visual Studio 2008

OrsoBubu Profilo | Newbie

Salve a tutti,

questo è il mio primo post qui, ne approfitto per salutare.

Il mio problema è questo, ho una winform che contiene due datagrid che vorrei collegare a due query diverse di una stessa tabella.

Ho creato il dataset e le due diverse origine dati sulla tabella, ho messo sulla form il dataset, due diversi bindingsource e due diversi tableadapter e ho collegato le due grid rispettivamente così:

this.tadapterROLGoduti.FillByROL(this.db_FerieDataSet.Godute);
this.tadapterFerieGodute.FillByFerie(this.db_FerieDataSet.Godute);

nell'evento form_load ma non funziona perchè le due grid risultano entrambe collegate alla stessa query, FiilByFerie in questo caso perchè viene caricata per ultima.

È possibile fare ciò che voglio? Se si come?

Grazie.

Cteniza Profilo | Guru

Ciao e benvenuto (intanto).
Sicuro di avere proprio bisogno di due query diverse?
Non può essere sufficiente avere una query per una tabella e un dataset con due bindingsource diverse e due filtri diversi ?
(se la seconda è un subset della prima io farei in modo inoltre di rendere non editabile la seconda datagrid.

OrsoBubu Profilo | Newbie

>Ciao e benvenuto (intanto).
>Sicuro di avere proprio bisogno di due query diverse?
>Non può essere sufficiente avere una query per una tabella e
>un dataset con due bindingsource diverse e due filtri diversi
>?
>(se la seconda è un subset della prima io farei in modo inoltre
>di rendere non editabile la seconda datagrid.
Grazie del benvenuto cteniza.

Pensavo a due query diverse perchè ho bisogno di leggere e inserire i dati in base a due criteri diversi e non voglio che pur facendo parte dell'unica tabella si possa inserire un tipo di dati nella grid sbagliata.

Quello che non mi spiego è perchè con il modo che ho provato io le due grid si trovino collegate alla stessa query anche se io le carico tutte e due.

Non credo di aver capito bene il meccanismo di cui parli.

Se puoi darmi qualche spunto te ne sarei grato.

Cteniza Profilo | Guru

Se si tratta di tabelle diverse allora va bene
Se si tratta della stessa tabella inevitabilmente avrai dei problemi di conflitto tra i dati di una e l'altra.
nb: sto parlando di due tabelle presenti nel database e non due datatable, se hai due datatable avulse dal database ci puoi fare anche tutti i "poci" che ti pare.
altro caso è una tabella di database che utilizzi per produrre due datatable diverse nel dataset ciascuna gestita con quello che ti interessa (e la chiave primaria) in questo caso la risoluzione dei conflitti per gli aggiornamenti li dovrai comunque fare tu da codice.

darkeric Profilo | Senior Member

Dovrei bindare le datagridview da codice

esegui la prima query e passi i dati ad un datatable per esempio TbRol
bindi la prima tabella al datatable TBRol

eseguy la seconda query e passi i dati al Datatable TBferie
agganci la seconda datagridview al Datatable TBferie

non conosco c ma in VB.net dovrebbe funzionare cosi

Dim TBrol as new Datatable
Dim TBferie as new datatable

TBrol = tadapterROLGoduti.GetdataByROL()
TBferie = tadapterFerieGodute.GetdataFerie()

Datagridview1.datasource = TBrol
Datagridview1.databind()

Datagridview2.datasource = TBferie
Datagridview2.databind()

Programmatore per passione non per professione!

OrsoBubu Profilo | Newbie

>Se si tratta di tabelle diverse allora va bene
>Se si tratta della stessa tabella inevitabilmente avrai dei problemi
>di conflitto tra i dati di una e l'altra.
>nb: sto parlando di due tabelle presenti nel database e non due
>datatable, se hai due datatable avulse dal database ci puoi fare
>anche tutti i "poci" che ti pare.
Credo di aver capito a grandi linee ciò che dici, puoi farmi due righe di esempio? Per capire la direzione.

>altro caso è una tabella di database che utilizzi per produrre
>due datatable diverse nel dataset ciascuna gestita con quello
>che ti interessa (e la chiave primaria) in questo caso la risoluzione
>dei conflitti per gli aggiornamenti li dovrai comunque fare tu
>da codice.
È la stessa cosa di ciò che dici sopra?

Grazie.
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5