En esta vitamina aprenderás a desactivar ordenación en rejillas con CSS en Velneo.
Si necesitas evitar que el usuario pueda cambiar el orden de los registros visualizados en una rejilla, necesitas conseguir que el usuario:
- No tenga acceso a la opción ordenar en el menú contextual ni en el menú lista.
- Al hacer clic en la cabecera de una columna no se ordene la rejilla.
El primer punto lo lograrás desactivando el menú contextual por defecto de la rejilla y no dando acceso al usuario al menú de lista en el que se encuentra la opción ordenar.
Para conseguir desactivar la ordenación de los registros mostrados en una rejilla haciendo clic en la cabecera sólo tienes que hacer lo siguiente:
- Declara una conexión de evento en la rejilla para atrapar la señal Pre inicializado
- Asigna a la conexión de evento pre inicializado un manejador de evento que contenga el siguiente código:
QTableView
{
qproperty-sortingEnabled: false
}
Observarás que la línea de código aplica un estilo CSS en el que pone a false la propiedad de rejilla sortingEnabled, consiguiendo de esta forma que cuando el usuario haga clic en cualquier cabecera de columna la rejilla no se ordene y siga con los registros visualizados en el orden en el que fueron cargados.
La vitamina no sólo es sencilla de programar, además es muy potente ya que si lo deseas puedes aplicar el CSS a nivel general para que todas las rejillas de la aplicación se comporten de la misma forma sin permitir la ordenación. Particularmente puedes aplicar un CSS específico a cualquier rejilla.