Información general sobre el control de servidor web ListView
Actualización: noviembre 2007
El control ListView de ASP.NET permite enlazar a los elementos de datos devueltos de un origen de datos y los muestra. Los datos se pueden mostrar en páginas. Puede mostrar los elementos individualmente o puede agruparlos.
El control ListView muestra los datos en un formato que se puede definir mediante plantillas y estilos. Resulta útil para los datos de cualquier estructura extensible, de forma similar a los controles DataList y Repeater. Sin embargo, a diferencia de esos controles, con el control ListView puede permitir a los usuarios modificar, insertar, eliminar, ordenar y paginar los datos, todo ello sin código.
Este tema contiene:
Enlazar datos al control ListView
Crear plantillas para el control ListView
Paginar datos
Ordenar datos
Modificar datos
Aplicar estilos a elementos ListView
Referencia de clase
Ejemplos de código
Recursos adicionales
Enlazar datos al control ListView
Puede enlazar el control ListView a datos de las siguientes maneras:
Mediante la propiedad DataSourceID. Esto permite enlazar el control ListView a un control de origen de datos, por ejemplo, SqlDataSource. Recomendamos este método porque permite al control ListView aprovechar las funciones del control de origen de datos. También proporciona funcionalidad integrada para ordenar, paginar, insertar, eliminar y actualizar. Este enfoque también permite utilizar expresiones de enlace bidireccionales. Para obtener más información sobre los controles de origen de datos, vea Información general sobre los controles de origen de datos.
Mediante la propiedad DataSource. Esto permite enlazar a varios objetos, incluidos los conjuntos de datos y lectores de datos ADO.NET, así como estructuras en memoria como colecciones. Si utiliza este enfoque, deberá escribir código para otras funciones adicionales como ordenar, paginar y actualizar.
Volver al principio
Crear plantillas para el control ListView
Los elementos que muestra un control ListView se definen mediante plantillas, de forma similar a los controles DataList y Repeater. El control ListView permite mostrar los datos como elementos individuales o en grupos.
El diseño principal (raíz) de un control ListView se define creando una plantilla LayoutTemplate. LayoutTemplate debe incluir un control que actúa como marcador de posición de los datos. Por ejemplo, la plantilla de diseño podría incluir un control ASP.NET Table, Panel o Label. (También podría incluir los elementos HTML table, div o span cuyo atributo runat está establecido en "server".) Estos controles contendrán el resultado de cada elemento tal como define la plantilla ItemTemplate, que se puede agrupar en el contenido definido por la plantilla GroupTemplate.
El contenido de los elementos individuales se define en la plantilla ItemTemplate. Normalmente, esta plantilla contiene controles que se enlazan a datos de columnas de datos u otros elementos de datos individuales.
Agrupar elementos
Opcionalmente, puede agrupar los elementos de un control ListView mediante la plantilla GroupTemplate. Normalmente, los elementos se agrupan para crear un diseño de tabla en mosaico. En un diseño de tabla en mosaico, los elementos se repiten en una fila el número de veces especificado en la propiedad GroupItemCount. Para crear un diseño de tabla en mosaico, la plantilla de diseño puede contener un control Table ASP.NET o un elemento table HTML cuyo atributo runat está establecido en "server". A continuación, la plantilla de grupo puede contener un control TableRow ASP.NET (o un elemento tr HTML). La plantilla de elementos puede contener controles individuales que están dentro de un control TableCell ASP.NET (o un elemento td HTML).
Puede utilizar la plantilla EditItemTemplate para proporcionar una interfaz de usuario enlazada a datos que permita a los usuarios modificar los elementos de datos existentes. Puede utilizar la plantilla InsertItemTemplate para definir una interfaz de usuario enlazada a datos que permita a los usuarios agregar un nuevo elemento de datos. Para obtener más información, vea Modificar datos más adelante en este tema.
Plantillas disponibles
En la tabla siguiente se enumeran todas las plantillas que se utilizan con el control ListView.
LayoutTemplate
Identifica la plantilla raíz que define el diseño principal del control. Contiene un objeto de marcador de posición, como una fila de tabla (tr) o un elemento div o span. Este elemento se reemplazará por el contenido definido en las plantillas ItemTemplate o GroupTemplate. También puede incluir un objeto DataPager.ItemTemplate
Identifica el contenido enlazado a datos que debe mostrarse para los elementos individuales.ItemSeparatorTemplate
Identifica el contenido que debe representarse entre elementos individuales.GroupTemplate
Identifica el contenido del diseño de grupo. Contiene un objeto de marcador de posición, como una celda de tabla (td) o un elemento div o span que se reemplazará por el contenido definido en las otras plantillas, por ejemplo, ItemTemplate y EmptyItemTemplate.GroupSeparatorTemplate
Identifica el contenido que debe representarse entre los grupos de elementos.EmptyItemTemplate
Identifica el contenido que debe representarse para un elemento vacío cuando se usa una plantilla GroupTemplate. Por ejemplo, si la propiedad GroupItemCount está establecida en 5 y el número total de elementos devueltos por el origen de datos es 8, la última fila de datos mostrada por el control ListView contendrá los tres elementos especificados por la plantilla ItemTemplate y los dos elementos especificados por la plantilla EmptyItemTemplate.EmptyDataTemplate
Identifica el contenido que debe representarse si el origen de datos no devuelve ningún dato.SelectedItemTemplate
Identifica el contenido que debe representarse para el elemento de datos seleccionado con el fin de diferenciar el elemento seleccionado de los otros elementos que se muestran.AlternatingItemTemplate
Identifica el contenido que debe representarse para los elementos alternos con el fin de facilitar la distinción entre elementos consecutivos.EditItemTemplate
Identifica el contenido que debe representarse cuando se edita un elemento. Para el elemento de datos que se está editando, se representa la plantilla EditItemTemplate en lugar de la plantilla ItemTemplate.InsertItemTemplate
Identifica el contenido que debe representarse cuando se inserta un elemento. Se representa la plantilla InsertItemTemplate en lugar de una plantilla ItemTemplate al principio o al final de los elementos mostrados por el control ListView. Puede especificar dónde se representará la plantilla InsertItemTemplate mediante la propiedad InsertItemPosition del control ListView.
Crear una plantilla de elementos
En el ejemplo siguiente se muestra la estructura básica de una plantilla de elementos.
<asp:ListView ID="ListView1"
DataSourceID="SqlDataSource1">
<LayoutTemplate>
<table id="table1" >
<tr id="itemPlaceholder" ></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server>
<td >
<%-- Data-bound content. --%>
<asp:Label ID="NameLabel"
Text='<%#Eval("Name") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
Para mostrar los elementos individualmente, se agrega un control del servidor a la plantilla LayoutTemplate y se establece la propiedad ID del control en itemPlaceholder. Este control sólo es un marcador de posición para las otras plantillas, normalmente la plantilla ItemTemplate. Por consiguiente, en tiempo de ejecución, este control se reemplazará por el contenido de las otras plantillas.
Nota: |
---|
Puede cambiar el valor de la propiedad ID que se utiliza para identificar el contenedor de elementos estableciendo la propiedad ItemPlaceholderID en un nuevo valor. |
Después de definir la plantilla de diseño, se agrega una plantilla ItemTemplate que, normalmente, contiene controles para mostrar el contenido enlazado a datos. Puede especificar el marcado que se desea usar para mostrar cada elemento utilizando el método Eval para enlazar los controles a los valores del origen de datos. Para obtener más información sobre el método Eval, vea Información general sobre las expresiones de enlace de datos.
Puede proporcionar el contenido adicional que se desea representar mediante la plantilla ItemSeparatorTemplate, que identifica el contenido que se incluirá en los elementos.
En la ilustración siguiente aparece un diseño que muestra los datos del origen de datos utilizando varias filas de tabla por cada elemento.
En el ejemplo siguiente se muestra cómo crear el diseño.
<asp:ListView ID="EmployeesListView"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table cellpadding="2" id="tblEmployees"
style="width:460px">
<tr id="itemPlaceholder">
</tr>
</table>
<asp:DataPager ID="DataPager" PageSize="3">
<Fields>
<asp:NumericPagerField
ButtonCount="5"
PreviousPageText="<--"
NextPageText="-->" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr >
<td valign="top" colspan="2" align="center"
class="EmployeeName">
<asp:Label ID="FirstNameLabel"
Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel"
Text='<%#Eval("LastName") %>' />
</td>
</tr>
<tr style="height:72px" >
<td valign="top" class="EmployeeInfo">
<asp:Label ID="JobTitleLabel"
Text='<%#Eval("JobTitle") %>' />
<br />
<asp:HyperLink ID="EmailAddressLink"
Text='<%#Eval("EmailAddress") %>'
href='<%#"mailto:" + Eval("EmailAddress") %>' />
<br />
<asp:Label ID="PhoneLabel"
Text='<%#Eval("Phone") %>' />
</td>
<td valign="top" class="EmployeeAddress">
<asp:Label ID="AddressLine1Label"
Text='<%#Eval("AddressLine1") %>' />
<br />
<asp:Panel ID="AddressLine2Panel"
Visible='<%#Eval("AddressLine2").ToString() != String.Empty %>'>
<asp:Label ID="AddressLine2Label"
Text='<%#Eval("AddressLine2").ToString()%>' />
<br />
</asp:Panel>
<asp:Label ID="CityLabel"
Text='<%#Eval("City") %>' />,
<asp:Label ID="StateProvinceNameLabel"
Text='<%#Eval("StateProvinceName") %>' />
<asp:Label ID="PostalCodeLabel"
Text='<%#Eval("PostalCode") %>' />
<br />
<asp:Label ID="CountryRegionNameLabel"
Text='<%#Eval("CountryRegionName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
Crear una plantilla de grupo
En el ejemplo siguiente se muestra cómo crear una plantilla de grupo.
<asp:ListView ID="ListView1"
DataSourceID="SqlDataSource1"
GroupItemCount="5">
<LayoutTemplate>
<table id="table1">
<tr id="groupPlaceholder">
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr id="tableRow">
<td id="itemPlaceholder" />
</tr>
</GroupTemplate>
<ItemTemplate>
<td >
<%-- Data-bound content. --%>
<asp:Label ID="NameLabel"
Text='<%#Eval("Name") %>' />
</td>
</ItemTemplate>
</asp:ListView>
Para mostrar los elementos en grupos, se utiliza un control de servidor en la plantilla LayoutTemplate para que actúe como marcador de posición del grupo. Por ejemplo, se puede utilizar un control TableRow. La propiedad ID del control de marcador de posición se establece en groupPlaceholder. En tiempo de ejecución, este control de marcador de posición se reemplazará por el contenido de la plantilla GroupTemplate.
A continuación, se agrega un control de marcador de posición y se establece su propiedad ID en itemPlaceholder. Este control sólo es un marcador de posición para las otras plantillas, normalmente la plantilla ItemTemplate. Por consiguiente, en tiempo de ejecución, este control se reemplazará por el contenido de las otras plantillas. El contenido se repite el número de elementos especificado por la propiedad GroupItemCount del control ListView.
Por último, se agrega una plantilla ItemTemplate con el contenido enlazado a datos que se mostrará en el control contenedor de cada elemento.
Nota: |
---|
Puede cambiar el valor de la propiedad ID que se utiliza para identificar el marcador de posición de grupo estableciendo la propiedad GroupPlaceholderID en un nuevo valor. |
Puede especificar un separador entre los elementos mediante la plantilla ItemSeparatorTemplate. Puede especificar un separador entre los grupos mediante la propiedad GroupSeparatorTemplate.
En la ilustración siguiente aparece un diseño que muestra varios elementos del origen de datos por cada fila.
En el ejemplo siguiente se muestra cómo crear el diseño.
<asp:ListView ID="ProductsListView"
GroupItemCount="3"
DataSourceID="ProductsSqlDataSource" DataKeyNames="ProductID">
<LayoutTemplate>
<table cellpadding="2"
id="tblProducts" style="height:320px">
<tr id="groupPlaceholder">
</tr>
</table>
<asp:DataPager ID="DataPager"
PageSize="9">
<Fields>
<asp:NumericPagerField ButtonCount="3"
PreviousPageText="<--"
NextPageText="-->" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<GroupTemplate>
<tr id="productRow"
style="height:80px">
<td id="itemPlaceholder">
</td>
</tr>
</GroupTemplate>
<ItemTemplate>
<td valign="top" align="center" style="width:100" >
<asp:Image ID="ProductImage"
ImageUrl='<%#"~/images/thumbnails/" +
Eval("ThumbnailPhotoFileName") %>'
Height="49" /><br />
<asp:HyperLink ID="ProductLink"
Target="_blank" Text='<% #Eval("Name")%>'
href='<%#"ShowProduct.aspx?ProductID=" +
Eval("ProductID") %>' />
</td>
</ItemTemplate>
</asp:ListView>
Volver al principio
Paginar datos
Para que los usuarios puedan paginar los datos de un control ListView, utilice un control DataPager. El control DataPager puede estar dentro de la plantilla LayoutTemplate o en la página fuera del control ListView. Si el control DataPager no está en el control ListView, debe establecer la propiedad PagedControlID en el identificador del control ListView.
El control DataPager admite la interfaz de usuario de paginación integrada. Se puede utilizar el objeto NumericPagerField, que permite a los usuarios seleccionar una página de datos por el número de página. También se puede utilizar el objeto NextPreviousPagerField. Este permite a los usuarios moverse por las páginas de datos de una en una, o ir directamente a la primera o a la última página de datos. El tamaño de las páginas de datos se establece utilizando la propiedad PageSize del control DataPager. Puede utilizar uno o varios objetos del campo de paginación en un solo control DataPager.
También puede crear una interfaz de usuario de paginación personalizada con el objeto TemplatePagerField. En la plantilla TemplatePagerField, puede hacer referencia al control DataPager mediante la propiedad Container. Esta propiedad proporciona acceso a las propiedades del control DataPager. Estas propiedades incluyen el índice de fila de inicio, el tamaño de página y el número total de filas enlazadas actualmente al control ListView.
En el ejemplo siguiente se muestra una clase DataPager que está incluida en la plantilla LayoutTemplate de un control ListView.
<asp:ListView ID="ListView1"
DataSourceID="SqlDataSource1">
<LayoutTemplate>
<table id=" table1">
<tr id="itemPlaceholder">
</tr>
</table>
<asp:DataPager ID="DataPager" PageSize="5">
<Fields>
<asp:NumericPagerField ButtonCount="10"
PreviousPageText="<--"
NextPageText="-->" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr >
<%-- Data-bound content. --%>
</tr>
</ItemTemplate>
</asp:ListView>
En la ilustración siguiente aparece un diseño que muestra vínculos a las páginas de datos basadas en el número de página, utilizando el objeto NumericPagerField.
En el ejemplo siguiente se muestra cómo crear el diseño.
<asp:DataPager ID="DataPager" PageSize="10">
<Fields>
<asp:NumericPagerField ButtonCount="10"
CurrentPageLabelCssClass="CurrentPage"
NumericButtonCssClass="PageNumbers"
NextPreviousButtonCssClass="PageNumbers" NextPageText=" > "
PreviousPageText=" < " />
</Fields>
</asp:DataPager>
En la ilustración siguiente aparece una interfaz de usuario de paginación que muestra vínculos a las páginas de datos siguiente, anterior, primera y última utilizando el objeto NextPreviousPagerField. La interfaz de usuario de paginación también incluye contenido personalizado de una plantilla TemplatePagerField, que muestra el intervalo de números de elementos actuales y el número total de elementos. La plantilla TemplatePagerField incluye un cuadro de texto donde los usuarios pueden escribir el número de elemento al que desean desplazarse. El elemento especificado se muestra como primer elemento de la página.
En el ejemplo siguiente se muestra cómo crear la interfaz de usuario de paginación.
<asp:DataPager ID="EmployeesDataPager" PageSize="8">
<Fields>
<asp:TemplatePagerField>
<PagerTemplate>
<asp:TextBox ID="CurrentRowTextBox"
AutoPostBack="true"
Text="<%# Container.StartRowIndex + 1%>"
Columns="1"
style="text-align:right"
OnTextChanged="CurrentRowTextBox_OnTextChanged" />
to
<asp:Label ID="PageSizeLabel" Font-Bold="true"
Text="<%# Container.StartRowIndex + Container.PageSize > Container.TotalRowCount ? Container.TotalRowCount : Container.StartRowIndex + Container.PageSize %>" />
of
<asp:Label ID="TotalRowsLabel" Font-Bold="true"
Text="<%# Container.TotalRowCount %>" />
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
En el ejemplo siguiente se muestra un controlador de eventos para el evento TextChanged del control TextBox que se incluye en la plantilla TemplatePagerField. El código del controlador se desplaza al elemento de datos especificado por el usuario.
Protected Sub CurrentRowTextBox_OnTextChanged(ByVal sender As Object, _
ByVal e As EventArgs)
Dim t As TextBox = CType(sender, TextBox)
Dim pager As DataPager = _
CType(EmployeesListView.FindControl("EmployeesDataPager"), _
DataPager)
pager.SetPageProperties(Convert.ToInt32(t.Text) - 1, _
pager.PageSize, True)
End Sub
protected void CurrentRowTextBox_OnTextChanged(object sender,
EventArgs e)
{
TextBox t = (TextBox)sender;
DataPager pager =
(DataPager)EmployeesListView.FindControl("EmployeesDataPager");
pager.SetPageProperties(Convert.ToInt32(t.Text) - 1,
pager.PageSize, true);
}
Volver al principio
Ordenar datos
Para ordenar los datos que se muestran en un control ListView, se puede agregar un botón a la plantilla LayoutTemplate y establecer la propiedad CommandName del botón en "Ordenar". La propiedad CommandArgument del botón se establece en el nombre de columna por la que desea ordenar. Al hacer clic en el botón Ordenar repetidamente, el sentido de la ordenación cambia entre Ascending y Descending.
Puede especificar varios nombres de columna en la propiedad CommandArgument del botón Ordenar. Sin embargo, el control ListView aplica el sentido de la ordenación a toda la lista de columnas. Como resultado, el sentido de la ordenación se aplica sólo a la última columna de la lista. Por ejemplo, si CommandArgument contiene "LastName, FirstName", al hacer clic en el botón Ordenar repetidamente, se genera una expresión de ordenación como "LastName, FirstName ASC" o "LastName, FirstName, DESC".
En el ejemplo siguiente se muestra un control ListView que incluye un botón Ordenar para ordenar los datos por apellido.
<asp:ListView ID="ListView1" DataSourceID="SqlDataSource1">
<LayoutTemplate>
<asp:LinkButton ID="SortButton"
Text="Sort" CommandName="Sort" CommandArgument="LastName" />
<table id="table1">
<tr id="itemPlaceholder">
</tr>
</table>
<asp:DataPager ID="DataPager" PageSize="20">
<Fields>
<asp:NumericPagerField ButtonCount="10"
PreviousPageText="<--"
NextPageText="-->" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr >
<td><asp:Label ID="FirstNameLabel"
Text='<%# Eval("FirstName")' /></td>
<td><asp:Label ID="LastNameLabel"
Text='<%# Eval("LastName")' /></td>
</tr>
</ItemTemplate>
</asp:ListView>
Establecer la expresión de ordenación dinámicamente
Puede crear una ordenación personalizada estableciendo la expresión de ordenación de un control ListView dinámicamente. Para ello, se llama al método Sort o se controla el evento Sorting.
En el ejemplo siguiente se muestra un controlador para el evento Sorting. El código aplica el mismo sentido de ordenación a todas las columnas de la propiedad SortExpression.
Protected Sub ContactsListView_Sorting(ByVal sender As Object, _
ByVal e As ListViewSortEventArgs)
If (String.IsNullOrEmpty(e.SortExpression)) Then Return
Dim direction As String = ""
If Not (ViewState("SortDirection") Is Nothing) Then
direction = ViewState("SortDirection").ToString()
End If
If direction = "ASC" Then
direction = "DESC"
Else
direction = "ASC"
End If
ViewState("SortDirection") = direction
Dim sortColumns As String() = e.SortExpression.Split(","c)
Dim sortExpression As String = sortColumns(0) & " " & direction
Dim i As Integer
For i = 1 To sortColumns.Length - 1
sortExpression += ", " & sortColumns(i) & " " & direction
Next i
e.SortExpression = sortExpression
End Sub
protected void EmployeesListView_OnSorting(object sender,
ListViewSortEventArgs e)
{
if (String.IsNullOrEmpty(e.SortExpression)) { return; }
string direction = "";
if (ViewState["SortDirection"] != null)
direction = ViewState["SortDirection"].ToString();
if (direction == "ASC")
direction = "DESC";
else
direction = "ASC";
ViewState["SortDirection"] = direction;
string[] sortColumns = e.SortExpression.Split(',');
string sortExpression = sortColumns[0] + " " + direction;
for (int i = 1; i < sortColumns.Length; i++)
sortExpression += ", " + sortColumns[i] + " " + direction;
e.SortExpression = sortExpression;
}
Volver al principio
Modificar datos
Se puede crear plantillas para el control ListView que permitan a los usuarios modificar, insertar o eliminar un único elemento de datos.
Para que los usuarios puedan modificar un elemento de datos, agregue una plantilla EditItemTemplate al control ListView. Cuando se cambia un elemento al modo de edición, el control ListView muestra el elemento utilizando la plantilla de edición. La plantilla debe incluir controles enlazados a datos donde el usuario pueda modificar los valores. Por ejemplo, la plantilla puede incluir cuadros de texto donde los usuarios puedan modificar los valores existentes.
Para que los usuarios puedan insertar un nuevo elemento, agregue una plantilla InsertItemTemplate al control ListView. Igual que la plantilla de edición, la plantilla de inserción debe incluir controles enlazados a datos que permitan la entrada de datos. La plantilla InsertItemTemplate se representa al principio o al final de los elementos mostrados. Puede especificar dónde se representará la plantilla InsertItemTemplate mediante la propiedad InsertItemPosition del control ListView.
Normalmente, se agregan botones a las plantillas para que los usuarios puedan especificar qué acción desean realizar. Por ejemplo, se puede agregar un botón Eliminar a una plantilla de elementos para que los usuarios puedan eliminar ese elemento.
Se puede agregar un botón Editar a una plantilla de elementos para que los usuarios puedan cambiar al modo de edición. En EditItemTemplate, se puede incluir un botón Actualizar para que los usuarios puedan guardar los cambios. También se puede incluir un botón Cancelar que permita a los usuarios volver al modo de presentación sin guardar los cambios.
La acción que realizará un botón se define mediante la propiedad CommandName del botón. En la tabla siguiente se enumeran los valores de la propiedad CommandName para los que el control ListView presenta un comportamiento integrado.
Select
Muestra el contenido de la plantilla SelectedItemTemplate para el elemento seleccionado.Insert
En una plantilla InsertItemTemplate, especifica que el contenido de los controles enlazados a datos se debe guardar en el origen de datos.Edit
Especifica que el control ListView debe cambiar al modo de edición y mostrar el elemento utilizando la plantilla EditItemTemplate.Update
En una plantilla EditItemTemplate, especifica que el contenido de los controles enlazados a datos se debe guardar en el origen de datos.Delete
Elimina el elemento del origen de datos.Cancel
Cancela la acción actual. Cuando se muestra la plantilla EditItemTemplate, al cancelar la acción se muestra la plantilla SelectedItemTemplate si el elemento es el que está seleccionado actualmente; de lo contrario, se muestra la plantilla ItemTemplate. Cuando se muestra la plantilla InsertItemTemplate, al cancelar la acción se muestra una plantilla InsertItemTemplate vacía.(Valor personalizado)
De forma predeterminada, no se realiza ninguna acción. Puede proporcionar un valor personalizado para la propiedad CommandName. En el evento ItemCommand, podrá probar el valor y realizar la acción.
Para obtener un ejemplo de un control ListView configurado para habilitar la edición, eliminación e inserción, vea Tutorial: Modificar datos con el control de servidor web ListView.
Volver al principio
Aplicar estilos a elementos ListView
El control ListView no admite propiedades de estilo como BackColor y Font. Para aplicar estilos al control ListView, debe utilizar clases de hojas de estilos en cascada (CSS) o elementos de estilos insertados para los controles individuales de las plantillas ListView.
Algunos objetos admiten propiedades que permiten aplicar estilos a los elementos del resultado. Por ejemplo, el objeto NumericPagerField incluye las propiedades siguientes:
Una propiedad NumericButtonCssClass que permite especificar el nombre de la clase de hojas de estilos en cascada para los botones que se desplazan a las páginas de datos por número.
Una propiedad CurrentPageLabelCssClass que permite especificar el nombre de la clase de hojas de estilos en cascada para el número de página actual.
Una propiedad NextPreviousButtonCssClass que permite especificar el nombre de la clase de hojas de estilos en cascada para los botones que se desplazan al grupo siguiente o anterior de botones numéricos.
Volver al principio
Referencia de clase
En la tabla siguiente se enumeran las clases clave relacionadas con el control ListView.
Clase |
Descripción |
---|---|
Control de servidor que muestra los valores de un origen de datos utilizando plantillas definidas por el usuario. Puede configurar el control para que los usuarios puedan seleccionar, ordenar, eliminar, modificar e insertar registros. |
|
Objeto que representa un elemento del control ListView. |
|
Objeto que representa un elemento de datos del control ListView. |
|
Enumeración que identifica la función de los elementos de un control ListView. |
|
Control de servidor que proporciona la funcionalidad de paginación para los controles que implementan la interfaz IPageableItemContainer, como el control ListView. |
|
Campo DataPager que permite a los usuarios seleccionar una página de datos por número de página. |
|
Campo DataPager que permite a los usuarios moverse por las páginas de datos de una en una, o ir directamente a la primera o a la última página de datos. |
|
Campo DataPager que permite a los usuarios crear una interfaz de usuario de paginación personalizada. |
Volver al principio
Ejemplos de código
En las secciones siguientes se incluyen ejemplos de código sobre cómo utilizar el control ListView.
Temas "Cómo..." y tutoriales
Tutorial: Mostrar, paginar y ordenar datos con el control de servidor web ListView
Tutorial: Modificar datos con el control de servidor web ListView
Volver al principio
Vea también
Conceptos
Información general sobre los controles de servidor Web ASP.NET enlazados a datos
Establecer enlaces a bases de datos
Información general sobre los controles de origen de datos