Tema: limit 10
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/02/2005, 15:37
Avatar de RootK
RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 1 mes
Puntos: 50
Creo que mas o menos te entendí... mira.. de hecho tengo un ejemplo donde hago precisamente una paginacion con un datareader para no paginar todo con un dataset ya que en el dataset guardas todos los registros aunque solo vayas a mostrar 1.

Pero en fin.. el caso es que podrías hacer ésto: (tratare de ser breve y claro.

Supongamos que tu tamaño de pagina son 10

Declaras un datareader y le pasas la query que necesitas.

Dim CurrentPage as Integer

...
...
Dim PageSize = 10

dr = cmd.executereader()

For i = 1 to ((CurrentPage - 1) * PageSize)
dr.read() 'navegar por el reader
Next i

Despues dependiendo de la página en que te encuentres ya les tu reader como normalmente lo heces.

Defines un datatable para llenarlo con los datos que necesitas.

Cita:
Dim dt As New DataTable()
dt.Columns.Add("Nombre", GetType(String))
...
...


For i = 1 To PageSize
If dr.Read() Then
Dim drow As DataRow = dt.NewRow
'Obtengo el campo y lo guardo en mi row
drow(0) = CType(dr("NombreCampo"), String)
dt.Rows.Add(drow)
End If
Next

dr.close() 'cierro mi reader

Y despues ya le paso a mi control, sea grid, repeater, datalist..etc.. el datatable que acabo decrear y que contiene los registros que necesito (ya no me trae todos )

Cita:
micontrol.datasource = dt
micontro.databind()
Y cuando de click el usuario lo que tendrás que hacer es aumentar la página actual en uno

CurrentPage += 1

Para que se haga otra vez el ciclo....

La verdad es una explicacion super general porque el codigo es medio largo.. pero creo que te puedes dar una idea...

Otra forma es haciendolo con un dataadapter y un dataset..

Aqui puse un ejemplo tambien.

http://www.forosdelweb.com/showthrea...light=datalist

Salu2