Usuario
Listado de pacientes por paginas

Pregunta
-
Buen Día
Estoy utilizando un gridview para mostrar un listado de pacientes. La situación es que el listado es amplio y no se puede mostrar en una sola pagina.
Quiero paginar el gridview y mostrar cada cierto tiempo una pagina diferente pero no se bien como hacerlo.
Gracias por su ayuda.
Todas las respuestas
-
Hola Silvio:
Te recomiendo que realices una rutina en JQuery, que haga la consulta paginada a tu base de datos, y con un timer la llamas, cada cierto tiempo, llevándole como parámetro la página que quieres visualizar... el tema es controlar cual es el indice de la pagina que quieres ver, y cuando tienes que volver a empezar la serie.
Te dejo un link de lo que podrías aplicar...
http://www.aspsnippets.com/Articles/Paging-in-ASPNet-GridView-using-jQuery-AJAX.aspx
Camilo Villa
-
Estimado Silvio A Muñoz Correa
Seria bueno conocer como "obtienes" el listado de pacientes y enlazas el gridview? el tipo de fuente de datos?
- desde una capa de negocio/datos. Repositorio? metodos de un ORM?
- directamente una consulta SQL
- a traves de un procedimiento almancenado
- a traves de un webservice
- a traves de una control para databinding en webforms
Algunas fuentes se unen (un repositorio que accede a un procedimiento almacenado)
Esto es para conocer si tu fuente de datos es paginable (y es la recomendacion) es decir que pagines lo mas cerca de los datos posibles
Ejemplo: Si en la DB tienes millones de registros, no obtener en momoria todos sino que solamente la pagina que neceistas (numero de pagina y cantidad de registros) para el filtro que envias (porque tus registros pueden venir filtrados por varios campos)
Gridview soporta estos dos tipos de paginacion (por asi llamarlo) TE dejo unos enlaces que te pueden ayudar pero comentanos como tienes y si puedes paginar en el origen
Enlaces que te puede ayudar
- Paginación en un control GridView de servidor Web
https://msdn.microsoft.com/es-es/library/5aw1xfh3.aspx - Cómo: Habilitar la paginación predeterminada en el control de servidor Web GridView
https://msdn.microsoft.com/es-es/library/y71xk4a7.aspx - (un poco antiguo pero sirve de base) GridView Examples for ASP.NET 2.0: Paging and Sorting the GridView's Data
https://msdn.microsoft.com/en-us/library/aa479347.aspx
Espero que te sirva de ayuda o guia
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
-
>>Quiero paginar el gridview y mostrar cada cierto tiempo una pagina diferente pero no se bien como hacerlo.
podrias usar el timer de ajax
[How Do I:] Use the ASP.NET AJAX Timer Control?
para lanzar un refresh y en esa accion incrementa el paginado del grid
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Hola Jose A. Fernandez
Estoy trabajando c#, tengo una pagina aspx con un grid view y para llenar el grid utilizo el siguiente código:
namespace
Tableros.pages
{
publicpartialclassUrgen: System.Web.UI.Page
{
protectedvoidPage_Load(objectsender, EventArgse)
{
this.cons_pahos();
}
protectedvoidcons_pahos()
{
// Instancia de conexion a base de datos
Tableros.clase.
conexioncxbd = newTableros.clase.conexion();
try
{
pacientes.DataSource = cxbd.consultarIND(
"SELECT RTRIM(SUBSTRING(DESCCAMAS,5,12)) AS Cama, RTRIM(IPPRINOMB) + ' ' + RTRIM(IPSEGNOMB) + ' ' + RTRIM(IPPRIAPEL) + ' ' + RTRIM(IPSEGAPEL) AS Paciente, RTRIM(A.IPCODPACI) As Documento, RTRIM(A.NUMINGRES) As Ingreso, RTRIM(SUBSTRING(E.NOMENTIDA,1,18)) As Entidad, RTRIM(ES.DESESPECI) As Especialidad FROM INDIGO012.dbo.CHREGESTA A INNER JOIN INDIGO012.dbo.INPacient B ON A.IPCODPACI=B.IPCODPACI INNER JOIN INDIGO012.dbo.CHCAMASHO C ON A.CODICAMAS=C.CODICAMAS INNER JOIN INDIGO012.dbo.INUNIFUNC D ON C.UFUCODIGO=D.UFUCODIGO INNER JOIN INDIGO012.dbo.ADINGRESO I ON A.NUMINGRES=I.NUMINGRES INNER JOIN INDIGO012.dbo.INENTIDAD E ON I.CODENTIDA=E.CODENTIDA INNER JOIN INDIGO012.dbo.INESPECIA ES ON I.CODESPTRA=ES.CODESPECI WHERE REGESTADO='1' AND A.IPCODPACI NOT IN (SELECT IPCODPACI FROM INDIGO012.dbo.CHIDENTID) AND I.CODCENATE='002' AND C.UFUCODIGO IN ('F01') AND C.CODICAMAS IN ('135','136','137','138','139','140','141','142','143','144','145','146','147','148','149','150','151','152','1565','1567','1568','1612','1613','1614','1615','1616','1617','1618','1748','1749','1750','1751','1752','1755','1756','1757','1758','1759','1841','1842','1843','1855','1856','1857','1858','1859','1864','1865','1866','1867','1868','1869','1871','1872','1873','1874','1875','1878','1879','1880','1881','1882','2214','2215','2216','2217','2218','2219','2220','2221','2222','2223') ORDER BY NEWID()").Tables[0];
pacientes.DataBind();
}
catch
{
this.cons_pahos();
}
Response.AppendHeader(
"refresh","15");
}
}
}