El GridView
provee una propiedad EmptyDataText
en la que nosotros establecemos un texto que se desplegará si no se encuentran registros.
En un DataList
no existe esta propiedad. Para mostrar el mensaje nos tenemos que valer de un Label
:
- <asp:Label ID="Mensaje" runat="server" Text="No se encontraron registros."></asp:Label>
Después tenemos que utilizar el evento DataBinding
para mostrar el mensaje y el evento ItemDataBound
para ocultarlo.
El evento DataBinding
ocurre primero que ItemDataBound
, es por eso que al principio lo mostramos, y luego en el siguiente evento probamos si existen registros, y si no existen, lo mostramos.
La lógica queda así:
- Protected Sub DataList2_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataList2.DataBinding
- Mensaje.Visible = True
- End Sub
- Protected Sub DataList2_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList2.ItemDataBound
- If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
- Mensaje.Visible = False
- End If
- End Sub