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
Problema visualizzazione su DataGridView di DataTable relazionati
giovedì 26 luglio 2007 - 17.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
gio 26 lug 2007 - 17:05
Ho un problema e non riesco a venirne a capo...
Ho creato 3 Datatable derivanti da 3 Tabelle del mio database
La prima tabella denominata "GruppiStampa", la seconda "DefGruppiStampa" e la terza "AnagraficaComponente"
Queste tabelle sono così relazionate:
677x168
35Kb
Ogni record della tabella GruppiStampa potrà avere più record della Tabella DefGruppiStampa; a sua volta, ogni record della tabella DefGruppiStampa potrà avere un solo record della tabella "AnagraficaComponente";
Io ho la necessità di visualizzare su due DataGridView rispettivamente, su una il contenuto della tabella GruppiStampa e su un'altra il contenuto di AnagraficaComponente filtrato in base relazione stabilita.
Ho quindi creato delle relazioni i DataTable in questo modo:
Private Sub CreaBinding()
' Crea le relazioni tra le tabelle GruppiStampa => DefGruppiStampa
Dim KeyParent(1) As DataColumn
KeyParent(0) = DbDbase.SqlDS.Tables("GruppiStampa").Columns("CdAzienda")
KeyParent(1) = DbDbase.SqlDS.Tables("GruppiStampa").Columns("CdID")
Dim KeyChild(1) As DataColumn
KeyChild(0) = DbDbase.SqlDS.Tables("DefGruppiStampa").Columns("CdAzienda")
KeyChild(1) = DbDbase.SqlDS.Tables("DefGruppiStampa").Columns("CdStampa")
DbDbase.SqlDS.Relations.Add("Definizione", KeyParent, KeyChild)
' Crea la relazione tra le tabelle DefGruppiStamp => AnagraficaComponenti
ReDim KeyParent(2)
KeyParent(0) = DbDbase.SqlDS.Tables("DefGruppiStampa").Columns("CdAzienda")
KeyParent(1) = DbDbase.SqlDS.Tables("DefGruppiStampa").Columns("CdFamiglia")
KeyParent(2) = DbDbase.SqlDS.Tables("DefGruppiStampa").Columns("CdComponente")
ReDim KeyChild(2)
KeyChild(0) = DbDbase.SqlDS.Tables("AnagraficaComponenti").Columns("CdAzienda")
KeyChild(1) = DbDbase.SqlDS.Tables("AnagraficaComponenti").Columns("CdFamiglia")
KeyChild(2) = DbDbase.SqlDS.Tables("AnagraficaComponenti").Columns("CdComponente")
DbDbase.SqlDS.Relations.Add("Componenti", KeyParent, KeyChild, False) <== Ho provato a impostare True ma mi dà errore
' Effettua il binding
Me.GrdStampe.DataSource = DbDbase.SqlDS
Me.GrdStampe.DataMember = "GruppiStampa"
Me.GrdComponentiSel.DataSource = DbDbase.SqlDS
Me.GrdComponentiSel.DataMember = "GruppiStampa.Definizione.Componenti"
End sub
Come vedete ho effettuato il binding del DataGridView denomintao GrdStampe con il DataTable "GruppiStampa e del secondo DataGridView denominato GrdComponentiSel con "GruppiStampa.Definizione.Componenti" passando per la relazione prima creata.
Sembrerebbe funzionare tutto, non mi dà nessun errore ma mi restituisce solamente un record (il primo) nel secondo DataGridView nonostante io sia certo che di record ce ne sono più di uno...
Qualcuno ha la pazienza di aiutarmi a capirci qualcosa?
Ho provato davvero l'impossibile, credo sia un problema di relazioni ma non ne vengo a capo.
Aiutoooo!!!
Grazie
Alessandro
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 !