Tip ASP.NET: tu gridView no tiene data que mostrar?

esta pregunta la he visto en varios foros, -como se que el gridView no tiene datos?, y si lo que estaban buscando es darle un mensaje al usuario cuando no hay data que mostrar.

Pues contarles, a los que no sabían, que hay un Template en el Gridview para eso: EmptyDataTemplate:

  <asp:GridView ID=”tuGridView” runat=”server” … >
    <Columns>
      …..
    </Columns>
    <EmptyDataTemplate>
      <img src=”~/images/nodata.jpg”
              alt=”no hay datos que mostrar” />
      <br/><a href=”….”>Inserte un nuevo dato</a>.
    </EmptyDataTemplate>
  </asp:GridView>

O ponen el código que ustedes quieran, ya que es un template, esta propiedad es soportada, también por el DetailsView, y el FormView. Aquí pueden apreciar un ejemplo online de un DetailsView: Ejemplo, código.

Por cierto, si quieren ver algunos ejemplos de escenarios de accedo a datos avanzado, lo pueden hacer en: Advanced Data Scenarios.

Saludos,

Post cruzado 3Dev Blogs

10 comentarios en “Tip ASP.NET: tu gridView no tiene data que mostrar?”

  1. Un pequeño agregado, a veces la grilla la creamos dinamicamente o bien tenemos que asignar un valor cuando viene vacia (por ej. porque nuestra grilla puede soportar distintos idiomas) entonces podemos hacer:

    tuGridView.EmptyDataText = “No se encontraron registros”;

    ó:

    tuGridView.EmptyDataText = base.GetLocalResourceObject(“MiStringDeAlgunResource”) as string;

    Saludos.

  2. Porfavor necesito ayuda

    Tengo un Grid VIew, y necesito mostrarlo, aunque no tenga datos, ke kiere decir, ke por ejemplo en WA ya existe el grid y se muestra un registro con sus columnas (y cada columa s especifica si es combo, txt,etc)para que el usuario pueda agregar un nuevo registro, bueno necesito hacer eso pero En asp.net

    alguien tiene un idea, porfa”

  3. Tengo dudas con respecto al funcionamiento del template. A mi me sucede que intento usar con un grid al que le he aplicado CSS , y le he agregado botones y todo eso para que se vea bonito, pero cuando el dataset viene vacio porque la consulta no genera resultado, me genera el siguiente error en el databind:

    System.ArgumentOutOfRangeException: El argumento especificado está fuera del intervalo de valores válidos.

    En el momento en que quito el template o el valor a la propiedad emptyDataText, no genera el error, pero tampoco muestra el gridview.
    Como debo solucionarlo, porque quiero mostrarlo.
    Gracias por la ayuda

  4. me parece bueno tu consejo
    pero como lo he hecho ultimamente es
    contar si el grid regesa renglones, es decir,
    if(GridView1.Rows.Count==0)
    {
    //Muetras el mensaje
    }

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *