lunes, 6 de enero de 2014

Ordenar los datos de un control de servidor Web GridView

El GridView control proporciona una función de la clasificación funcionalidad sin requerir ningún tipo de codificación. Puede personalizar aún más la funcionalidad de ordenación del GridView control mediante el uso personalizado SortExpression valores de propiedad para las columnas, así como mediante el uso de la clasificación y ordenadas eventos.
1.      ¿Cómo funciona la ordenación en el control GridView
El GridView de control no realiza su propia selección de columnas, sino que se basa en el control de origen de datos para realizar la clasificación en su nombre. El control proporciona la interfaz de usuario (UI) para la clasificación, como LinkButton controles que se muestran en la parte superior de cada columna de la cuadrícula. Sin embargo, el GridView de control se basa en las funciones de ordenación del control de origen de datos al que está enlazado.
Si el control de origen de datos enlazado puede ordenar los datos, entonces el GridView control puede interactuar con el control de origen de datos y solicitud de datos ordenados pasando un SortExpression al origen de datos cuando se selecciona datos. No todos los controles de origen de datos apoyan la clasificación, por ejemplo, la XmlDataSource control no. Si el control de origen de datos admite la clasificación, sin embargo, el GridView puede tomar ventaja de ello. La siguiente lista describe los controles de origen de datos y la configuración que se necesita para admitir la ordenación:
·         Los SqlDataSource y AccessDataSource controles pueden resolver si el DataSourceMode propiedad se establece en DataSet , o la SortParameterName propiedad se establece en DataSet o DataReader .
·         El ObjectDataSource control puede ordenar si su SortParameterName propiedad se establece en un valor admitido por el objeto subyacente.
Ordenación de GridView Proceso
Puede habilitar el comportamiento de ordenación predeterminado en el GridView control estableciendo su AllowSorting propiedad a la verdadera . Establecer esta propiedad en verdad hace que el GridView control para representar un LinkButton de control en las cabeceras de las columnas. El control también establece implícitamente la SortExpression propiedad de cada columna en el nombre del campo de datos al que está enlazado. Por ejemplo, si la red contiene una columna que muestra la ciudad de columna de la tabla Employees de la base de datos de ejemplo Neptuno, la SortExpression propiedad de esa columna se establecerá en la ciudad .
En tiempo de ejecución, los usuarios pueden hacer clic en el LinkButton de control en el encabezado de una columna para ordenar por esa columna. Al hacer clic en el enlace de la página se realiza una devolución de datos y aumenta el GridView del control de Ordenación evento. La expresión de ordenación - por defecto, el nombre de la columna de datos - se pasa como parte de los argumentos del evento. El comportamiento predeterminado para la clasificación de eventos es que el GridView control pasa la expresión de ordenación al control de origen de datos. El control de origen de datos ejecuta la consulta de selección o método, incluyendo los parámetros de ordenación aprobadas por la red.
Después de la consulta se ha ejecutado, de la cuadrícula ordenada evento se produce. Este evento le permite realizar la lógica posterior a la consulta, por ejemplo, mostrar un mensaje de estado. Por último, el control de origen de datos vuelve a vincular el GridView control a los resultados de la consulta recurrido.
El GridView de control no comprueba si el control de origen de datos admite la ordenación, sino que siempre pasa a la expresión de ordenación al origen de datos. Si el control de origen de datos no admite la clasificación y una operación de ordenación se lleva a cabo en el GridView control, el GridView control al NotSupportedException excepción. Puede detectar esta excepción en un controlador para la clasificación de eventos y comprobar la fuente de datos para determinar si la clasificación se apoya, o utilizando su propia lógica de la clasificación.

2.      Modificación de Ordenación Comportamiento de columnas individuales
Ajuste de la AllowSorting propiedad del control permite la clasificación para las columnas de forma predeterminada. Para desactivar la ordenación para los campos individuales (por ejemplo, el BoundField o TemplateField campo) estableciendo el SortExpression propiedad de la columna individual en una cadena vacía ("").
Usted puede añadir estilos a la columna que los datos se clasifican por, y usted puede mostrar flechas en el encabezado de columna para indicar si la ordenación es ascendente o descendente. También puede cambiar el estilo de la columna que los datos se clasifican en base al sentido de la ordenación. Los TableItemStyle propiedades permiten agregar los ajustes de estilo de los GridView columnas, como se indica en la siguiente tabla.
       3.       Ordenación personalizada
Si el comportamiento de ordenación predeterminado no es adecuado para sus necesidades, puede personalizar el comportamiento de la clasificación de la cuadrícula. La técnica básica para la ordenación personalizada es para manejar la clasificación de eventos. En el controlador, puede hacer lo siguiente:
·         Personalice la expresión de ordenación que se pasa al control de origen de datos. Por defecto, la expresión de ordenación es el nombre de una sola columna. Puede modificar la expresión de ordenación en el controlador de eventos. Por ejemplo, si desea ordenar por dos columnas, puede crear una expresión de ordenación que incluye a ambas. A continuación, puede pasar a la expresión de ordenación modificados para el control de origen de datos. Para obtener más información, consulte los GridViewSortEventArgs . SortExpression propiedad.

·         Crea tu propia lógica de clasificación. Por ejemplo, si usted está trabajando con una fuente de datos que no admite clasificación, se puede realizar la ordenación en su propio código y luego obligar a la red para los datos clasificados.

0 comentarios:

Publicar un comentario