girovagando in rete alla ricerca di soluzioni per una Datagrid, in passato ho trovato questo codice:
codice:
Sub binddata()
Dim DS As DataSet
Dim MyConnection as OleDbConnection
Dim MyCommand As OleDbDataAdapter
Dim quanti as integer
MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source="+server.mappath("database.mdb"))
myConnection.Open()
if MyDataGrid.VirtualItemCount =0 then
Dim myCommand2 As New OleDbCommand("select count(*) from tabella2", myConnection)
quanti = mycommand2.executeScalar()
MyDataGrid.VirtualItemCount = quanti
else
quanti = MyDataGrid.VirtualItemCount
end if
MyCommand = New OleDbDataAdapter("select * from tabella2", MyConnection)
DS = new DataSet()
MyCommand.Fill(ds,(start_index*15),15, "tabella2")
dim source as dataview=ds.Tables("tabella2").DefaultView
MyDataGrid.DataSource=source
MyDataGrid.DataBind()
MyConnection.close()
lblMessage.Text = "Pagina " & MyDataGrid.CurrentPageIndex+1 & _
" di " & MyDataGrid.PageCount & _
". Record presenti=" & quanti
End Sub
Non ho avuto modo di testarlo in quanto, pur avendo lo stesso tuo problema relativo al caricamento di un mastodontico risultato di una query, mi sono arrangiato per ora con il classico caricamento dei dati cioè l'estrazione dal primo all'n-esimo record.
Ci darò un'occhiata anche io quanto prima.
Spero tuttavia di essere stato utile.