Sección de códigos, trucos y ejemplos para visual basic
262 - Ado y Flexgrid ( Ejemplo de Paginación de un
recordset )
<Volver>
- Anterior - Siguiente
Módulo de clase que permite paginar los registros, y visualizarlos
en un control Ms Flexgrid o Hierarchical Flexgrid
EL siguiente módulo de clase permite paginar los registros de un
recordset, y luego utilizar ese recordset para volcarlo a un control Flexgrid,
como se ve en el siguiente formulario de ejemplo, donde el recordset está
dividido en 22 páginas, y cada una contiene 100 registros.
vista del form de ejemplo

El módulo de clase tiene las siguientes propiedades, métodos
y eventos:

- Popiedad Connection = Aqui se debe especificar la conexión
ADODB que se va a utilizar
- Popiedad MSFlexGrid = Aqui se debe especificar el control
MsFlexgrid a utilizar para los datos
- Propiedad Registros_Por_Pagina: en esta propiedad se
indica los registros que contendrá cada página de resultados
- Propiedad sql: La Consulta Sql
a utilizar
- Método FirstPage: permite navegar a la primer
página
- Método PreviousPage: permite navegar a la página
anterior
- Método NextPagePage: permite navegar a la siguiente
página.
- Método LastPage: permite navegar a la última
página
- Método Refresh: Permite refrescar los datos
en el FlexGrid cuando se hacen cambios en la base de datos para volver
a cargar los registros actualizados
- Método GoToPage: Método que navega al número de
página indicado
- Evento MoveComplet: cada ves que se desplaza por las
páginas, se dispara este evento con el cual se puede recuperar
el: Número de página actual, el total de páginas
que hay y la cantidad de registros del recordset, por ejemplo para visualizarlo
en un control Label como se ve en el gráfico anterior.
Para usar el módulo es muy simple:
Primero hay que crear una instancia del mismo:
'Nueva instancia de la clase
Set obj = New Class1
Luego especificar la Conexión ADO, la cadena Sql, el control Flexgrid
y la cantidad de registros a mostrar por cada página:
'Establece la conexión ADODB
Set .Connection = cnn
' Consulta SQL
.sql = "Select * FROM [Detalles de pedidos]"
'Cantidad de registros a mostrar por cada página
.Registros_Por_Pagina = 100
'Especifica el Flexgrid a usar
.MSFlexGrid = MSFlexGrid1
... Luego de especificar lo anterior ya se pueden cargar los datos en la
grilla, por ejemplo llendo a la primer página con el método
GoToPage y pasarle el número de la misma, en este caso 1
'Va a la página 1, y carga los datos en FlexGrid de dicha página
Call obj.GoToPage(1)
Desplazarse por los registros
Para moverse por las páginas, hay que usar los métodos FirstPage,
PreviousPage, NextPage y LastPage
Por ejemplo para ir a la última página al presionar un botón:
obj.FirstPage
Para ir a la Siguiente:
obj.NexPage
Anterior página
obj.PreviousPage
Para ir a la última:
obj.LastPage
Para ir a la página 15
obj.GoToPage 15
Para volver a cargar los datos en el Flexgrid, por ejemplo cuando se actualizan
o modifican registros de la base de datos y poder volver a cargar la grilla,
usar el método Refresh
obj.Refresh
Pasos para crear un formulario de ejemplo:
- Agregar un módulo de clase llamado Class1
- Colocar en el proyecto la referencia a ADO ( Microsoft Activex Data
Objects )
- Agregar un control Microsoft FlexGrid o un Hierarchical Flexgrid
- Un CommandButton llamado cmd_Reg ( este es para indicar o cambiar la
cantidad de registros a mostrar por página )
- Un commandButton llamado Cmd_Refresh
- Un Arreglo de control Commandbutton para la botonera de navegación
llamado:
Cmd_Nav_Registros(0), Cmd_Nav_Registros(1), Cmd_Nav_Registros(2) y Cmd_Nav_Registros(3)
- Por último un control Label llamado Label1 para ver el número
de la página actual en la que estamos ubicados.
Primero se lista el código del módulo y al final el código
para agregar en el formulario
Código en el Módulo Class1:
Código fuente en el formulario
Recursos vb 6.0 - enlaces relacionados
Recursos
visual basic - Buscar - Privacidad - Copyright © 2005 - 2008 - www.recursosvisualbasic.com.ar