none
Listado de pacientes por paginas RRS feed

  • 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.

    viernes, 24 de abril de 2015 16:41

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

    viernes, 24 de abril de 2015 16:55
  • 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

    Espero que te sirva de ayuda o guia


    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja

    viernes, 24 de abril de 2015 16:59
  • >>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

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 24 de abril de 2015 17:09
  • 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");

            }

        }

    }

    viernes, 24 de abril de 2015 19:16