• Lunes 23 de Diciembre de 2024, 04:30

Autor Tema:  Paginar  (Leído 2248 veces)

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Paginar
« en: Martes 22 de Noviembre de 2005, 07:36 »
0
Hola Amigos:  
la verdad no habia utilizado este control y me ha costado un poco, pero bueno he aprendido algo, y es que le vi entre las propiedades que tiene este componente una opcion de paginacion, mi pregunta y problema es el siguiente

enlace el control con una de las tablas de la BD que tiene muchos registros, y le dije al control que me paginara cada 15 registros, y efectivamente en la pagina solo se ven los primeros 15, pero cuando le oprimo en siguiente no me muestra los siguientes 15 registros  :(   por que, o que me falta hacer..

agradezco cualquier colaboracion...


Saludos :hola:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Paginar
« Respuesta #1 en: Martes 22 de Noviembre de 2005, 08:32 »
0
Hola,

Tienes que capturar el evento PageIndexChange del Datagrid, y en ese metodo asignarle el indice de la nueva pagina para el datagrid.

Saludos
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Paginar
« Respuesta #2 en: Martes 22 de Noviembre de 2005, 10:10 »
0
hola The Black Boy!!
No se si te servirá de ayuda pero yo lo que he hecho para paginar el datagrid son los siguientes pasos:

1.- He asignado la función Datagrid1_Page al evento OnPageIndexChanged del datagrid de la siguiente forma:
Código: Text
  1.  
  2. <asp:datagrid id="DataGrid1" runat="server" Width="750px" Font-Names="Verdana" Font-Size="8pt" BackColor="#ECE9D8" OnPageIndexChanged="Datagrid1_Page" AllowPaging="True" OnUpdateCommand="DataGrid1_Update" OnDeleteCommand="DataGrid1_Delete" OnCancelCommand="DataGrid1_Cancel"
  3. OnEditCommand="DataGrid1_Edit" DataKeyField="nlineas" AutoGenerateColumns="False" BorderColor="ActiveCaption">
  4.  

2.- He declarado en el código la función de la siguiente forma:
 
Código: Text
  1. Sub DataGrid1_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
  2.         DataGrid1.CurrentPageIndex = e.NewPageIndex
  3.         BindGrid_Visitas()
  4.     End Sub
  5.  

Donde BindGrid_Visitas() es la función que me hace la select del datagrid y me muestra de nuevo los valores.

A mi me funciona perfectamente, asi que espero que tambien te sirva. Si tinenes alguna duda no dudes en consultar de nuevo.

Suerte y que te funcione.

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Paginar
« Respuesta #3 en: Martes 22 de Noviembre de 2005, 18:33 »
0
hola amigos, muchas gracias por sus repuestas, voy a probarlas y les comentaré como me fue..


la respuesta que das IGracia hay un fragmento que no me quedó muy claro y es que la verdad pues yo hasta hace muy poco empecé con ASP, el gragmento es el sgte:

Código: Text
  1.  
  2. OnPageIndexChanged="Datagrid1_Page" AllowPaging="True" OnUpdateCommand="DataGrid1_Update" OnDeleteCommand="DataGrid1_Delete" OnCancelCommand="DataGrid1_Cancel"
  3. OnEditCommand="DataGrid1_Edit" DataKeyField="nlineas" AutoGenerateColumns="False" BorderColor="ActiveCaption"
  4.  
  5.  

en el anterior fragmento de code, no se exactamente que hace :unsure:

Muchas gracias por sus respuestas... :smartass:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Paginar
« Respuesta #4 en: Miércoles 23 de Noviembre de 2005, 11:23 »
0
Vale, vamos a ir por partes...
Estas primeras declaraciones son propiedades del grid
Código: Text
  1. DataKeyField="nlineas" AutoGenerateColumns="False" BorderColor="ActiveCaption" AllowPaging="True"
  2.  
DataKeyField es el indice del grid. La clave primaria.
AutoGenerateColumns permite que selecciones para mostrar todas las columnas de la B.D. que muestras(true) o solamente algunos campos de la base en particular(False). Para seleccionar cuales mostrar seleccionas en el menú emergente del grid (boton derecho sobre el grid) "Property builder", y sale el menú "General" en la que muestra la base de datos, la tabla a la que haces la consulta y el indice del grid. Luego en el 2º menú: "Columns", seleccionas los campos que desees mostrar.
BorderColor indica al color del borde del grid.
AllowPaging es la propiedad que permite la paginación.
Código: Text
  1. OnUpdateCommand="DataGrid1_Update"  OnCancelCommand="DataGrid1_Cancel"
  2. OnEditCommand="DataGrid1_Edit"
  3.  
en el menú "Columns", que ya estabas, hay unbotón llamado "Button Column" que te da la opción de insertar una nueva columna "Edit, Update, Cancel". Estos son los eventos que recogen cada uno de estos cambios. Mira la siguiente página que indica como va:
http://www.c-sharpcorner.com/asp/Code/DBGridEditingPA.asp
Código: Text
  1. OnDeleteCommand="DataGrid1_Delete"
  2.  
Es en el mismo sitio pero el botón de debajo "Delete"
Y el último:
Código: Text
  1. OnPageIndexChanged="Datagrid1_Page"
  2.  
Es el que recoge el evento de paginación. Una vez pueta la painación a true , sale o bien "Siguiente" y "anterior" o bien, si los numeras,  "1", "2", "3"... Cada vez que pulsas alguno de ellos esta lineaa recoge el evento y ejecuat el código que te puse de la función "Datagrid1_Page".

Miara por la web que vienen un montón de ejemplos. Suerte y ya me contarás si te ha funcionado.

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Paginar
« Respuesta #5 en: Viernes 25 de Noviembre de 2005, 04:58 »
0
Gracias   :smartass:  :kicking:

te debo una una muy grande amigo
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]