Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
DataView proporciona varias maneras de ordenar y filtrar datos en :DataTable
Puede usar la Sort propiedad para especificar pedidos de ordenación de una o varias columnas e incluir los parámetros ASC (ascendente) y DESC (descendente).
Puede usar la ApplyDefaultSort propiedad para crear automáticamente un criterio de ordenación, en orden ascendente, en función de la columna o columnas de clave principal de la tabla. ApplyDefaultSort solo se aplica cuando la propiedad Sort es una referencia nula o una cadena vacía, y cuando la tabla tiene definida una clave principal.
Puede usar la RowFilter propiedad para especificar subconjuntos de filas en función de sus valores de columna. Para obtener más información sobre las expresiones válidas para la propiedad RowFilter , vea la información de referencia de la Expression propiedad de la DataColumn clase .
Si desea devolver los resultados de una consulta determinada en los datos, en lugar de proporcionar una vista dinámica de un subconjunto de los datos, use los Find métodos o FindRows de DataView para lograr el mejor rendimiento en lugar de establecer la propiedad RowFilter . Al establecer la propiedad RowFilter se vuelve a generar el índice de los datos, se agrega sobrecarga a la aplicación y se reduce el rendimiento. La propiedad RowFilter se usa mejor en una aplicación enlazada a datos donde un control enlazado muestra los resultados filtrados. Los métodos Find y FindRows aprovechan el índice actual sin necesidad de volver a generar el índice. Para obtener más información sobre los métodos Find y FindRows , vea Buscar filas.
Puede usar la RowStateFilter propiedad para especificar qué versiones de fila se van a ver. DataView administra implícitamente la versión de fila que se va a exponer en función de RowState de la fila subyacente. Por ejemplo, si RowStateFilter está establecido en DataViewRowState.Deleted, DataView expone la versión de fila Original de todas las filas eliminadas porque no hay ninguna versión de fila actual . Puede determinar qué versión de fila de una fila se expone mediante la propiedad RowVersion de DataRowView.
En la tabla siguiente se muestran las opciones de DataViewRowState.
Opciones de DataViewRowState Descripción CurrentRows La versión de fila actual de todas las filas Sin cambios, Agregadas y Modificadas . Este es el valor predeterminado. Agregado La versión de fila Current de todas las filas Added. Eliminado La versión de fila Original de todas las filas Deleted. ModifiedCurrent La versión de fila Current de todas las filas Modified. ModifiedOriginal La versión de fila Original de todas las filas Modified. Ninguno No hay filas. OriginalRows La versión de fila original de todas las filas Sin cambios, Modificadas y Eliminadas . Inalterado La versión de fila Current de todas las filas Unchanged.
Para obtener más información sobre los estados de fila y las versiones de fila, consulte Estados de fila y Versiones de fila.
En el ejemplo de código siguiente se crea una vista que muestra todos los productos en los que el número de unidades de stock es menor o igual que el nivel de reordenación, ordenado primero por identificador de proveedor y, a continuación, por nombre de producto.
Dim prodView As DataView = New DataView(prodDS.Tables("Products"), _
"UnitsInStock <= ReorderLevel", _
"SupplierID, ProductName", _
DataViewRowState.CurrentRows)
DataView prodView = new DataView(prodDS.Tables["Products"],
"UnitsInStock <= ReorderLevel",
"SupplierID, ProductName",
DataViewRowState.CurrentRows);