Fast Tricks: DataPager No Rows Visible

Published 25/11/2009 11:36 | Isaac Fernandez

Hola amigos, tras las cientos de llamadas que hemos recibido en la centralita, aquí un nuevo artículo para desempolvar el blog, esta vez lo haré abriendo una especie de sección nueva, Fast Tricks, truquitos rápidos, y simples que nos valen para resolver problemitas concretos de forma optima y rápida.

En este caso voy a comentaros un truquito con el control DataPager, ese control mágico que nos sirve para paginar resultados en ListView's, Grid's, etc.. En ocasiones he visto como desde la capa de presentación se preguntaba una y otra vez por el número de resultados a paginar para mostrar o no dicho control. Pues bien, hagamos que todo esto se centralice, que sea el propio control el que diga si tiene que visualizarse o no, dependiendo del número de resultados a mostrar, así no tendremos que preguntar una y otra vez en cada una de las páginas donde lo usemos.

Para ello bastará con crearnos una clase que herede de System.Web.UI.WebControls.DataPager y sobre escribamos su método Render. En esta sobre escritura comprobaremos a través de las propiedades TotalRowCount y PageSize, si el número de filas a mostrar es mayor al número de filas que se quiere se vean por página, y dependiendo del resultado, renderizaremos o no el control.

Un ejemplo de caso práctico: si deseo que me aparezcan 5 filas por página, y solo tenemos 4 registros de datos, no mostraremos el control.

public class MyDataPager : System.Web.UI.WebControls.DataPager

    {       

        protected override void Render(HtmlTextWriter writer)

        {

            if (base.TotalRowCount > base.PageSize)

            {

                base.Render(writer);

            }

           

        }       

    }

Eh voilá, espero que este articulillo aunque básico y simplón, os sirva alguna vez J

 

Comparte este post:

Comentarios

# kiquenet said on November 25, 2009 11:58 AM:

La llamada ha surtido efecto. Gracias :-)

# cocoloco2 said on November 25, 2009 12:03 PM:

Nunca diré que no a una buena herencia!!

Gracias por tus consejos y ánimo con el blog, está muy interesante

# Isaac Fernandez said on November 25, 2009 12:47 PM:

Gracias a vosotros por los ánimos ;)