Popolare una gridview da un DataSet con più tabelle

venerdì 20 settembre 2013 - 09.34
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  Windows XP  |  Visual Studio 2010

paolagumi Profilo | Junior Member

...non mi funziona!
ho fatto così:
Definisco il dataset e una datatable:


Dim SqlDs As System.Data.DataSet = Nothing

Do While ...loop che legge la Matricola da un sqldr, per ognuna

Matricola = SqlDr("Matricola")

Dim dt As New System.Data.DataTable
Dim dc As System.Data.DataColumn
Dim dr As System.Data.DataRow

'definisco le colonne
dc = New System.Data.DataColumn("Matricola")
dt.Columns.Add(dc)
dc = New System.Data.DataColumn("Nominativo")
dt.Columns.Add(dc)

Poi faccio un loop per riempire il datatable, alla fine aggiungo la table al dataset:

Do While .....leggo il Datareader da un Oledb:
dr = dt.NewRow
dr("Matricola") = OleDbDr("Matricola")
dr("Nominativo") = OleDbDr("Nominativo")
dt.Rows.Add(dr)
dr = Nothing
Loop
SqlDs.Tables.Add(dt)

Loop

MiaGridView.DataSource = SqlDs
MiaGridView.DataBind()

ecco, mi carica solo la prima table! se vado a interrogare il datasource SqlDs mi fa vedere tutte le tables.
Forse è sbagliato : MiaGridView.DataSource = Sqlds?
avevo provato a scrivere:
MiaGridView.DataSource = Sqlds.Tables("Table0"),
poi:
MiaGridView.DataSource = Sqlds.Tables("Table1")
ma niente, mi tiene solo l'ultima che ho specificato.
grazie,
Paola

Scusate, ho risolto:
devo creare un'unica datatable alla fine dei loop,
così il dataset contiene un'unica datatable e la carica tutta.
Grazie lo stesso, magari può servire a qualcuno!
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5