Lógica mente

El blog de Jesús Arboleya

  • Inicio
  • Buenas prácticas
  • Vitaminas
  • Podcast
  • Blog
  • Contacto

Deshabilitar controles de formulario con CSS en Velneo

Como continuación de la vitamina 8 en la que deshabilitamos y habilitamos los controles de un formulario con el API de Velneo y JavaScript, en esta vitamina lo haremos también de forma sencilla y aprenderemos a deshabilitar controles de formulario con CSS en Velneo.

Podemos utilizar el comando de instrucción de procesos Velneo «Interfaz: Establecer hoja de estilo CSS» en un manejador de evento del formulario que se ejecute, por ejemplo, al dispararse la señal «Post-inicializado» del formulario, o en cualquier momento que consideremos oportuno.

Deshabilitar controles de formulario con CSS en Velneo

Deshabilitar controles de formulario con CSS en Velneo

El siguiente script CSS se puede usar para deshabilitar todos los controles del formulario que sean del tipo (edición alfabética, edición fecha, edición fecha/hora, edición hora, edición numérica, edición de maestro, combobox, listbox y botones:

VLineEdit, VDateEdit, VDateTime, VTimeEdit, VDateTimeEdit, 
VNumberSpinBox, VLineEditBrowser, VBoundFieldEdit, VBoundFieldComboBox,
VBoundFieldListBox, VComboBox, VListBox, VPushButton
{
    qproperty-enabled: false
}
VPushButton#BTN_HAB_CTL_CSS
{
    qproperty-enabled: true
}

Si nos fijamos en el CSS podemos observar como tras deshabilitar los controles, y en concreto todos los botones VPushButton, a continuación se habilita de nuevo el botón cuyo identificador es BTN_HAB_CTL_CSS.

Es decir, que podemos habilitar individualmente cualquier control de cualquier tipo indicando primero el tipo de control (VPushButton, VLineEdit, VDateEdit, etc.) el símbolo «#» y el identificador del control. Incluso se puede especificar varios controles a la vez.

Habilita controles del formulario

El siguiente script CSS se puede usar para deshabilitar todos los controles del formulario que sean del tipo (edición alfabética, edición fecha, edición fecha/hora, edición hora, edición numérica, edición de maestro, combobox, listbox y botones:

VLineEdit, QTextEdit, VDateEdit, VDateTime, VTimeEdit, VDateTimeEdit,
VNumberSpinBox, VLineEditBrowser, VBoundFieldEdit, VBoundFieldComboBox,
VBoundFieldListBox, VComboBox, VListBox, VPushButton
{
    qproperty-enabled: true
}

Ventajas y desventajas del CSS respecto al API de Velneo y JavaScript

Esta píldora demuestra que deshabilitar y habilitar opciones con CSS es realmente sencillo, a continuación identifico algunas ventajas de hacerlo mediante CSS o con el API de Velneo y JavaScript:

Ventajas de hacerlo con CSS:

  • Más sencillo de aplicar.
  • Se aplica en cascada a todos los formularios que se abran desde aquel en el que se haya aplicado el estilo.
  • Permite individualizar el estilo de múltiples controles a la vez.

Ventajas de hacerlo con el API de Velneo y JavaScript:

  • Muy configurable y personalizable mediante programación.
  • Muy potente al permitir aplicarlo a todas las propiedades y funciones.
  • Código muy reutilizable y de aplicación directa, no en cascada.

Archivado en: Vitaminas


Escrito por Jesús Arboleya.
Evangelista y consultor de Velneo en el departamento de éxito de clientes.

Trackbacks

  1. Lógica mente | Píldora 8. Deshabilita todos los controles del formulario con una instrucción dice:
    20/07/2013 a las 19:18

    […] Píldora 7. Desactiva la ordenación de rejillas haciendo clic en cabecera Píldora 9. Deshabilita y habilita los controles de un formulario con CSS […]

    Responder
  2. Deshabilitar controles de formulario con el API de Velneo V7 - Lógica mente Velneo V7 dice:
    22/08/2013 a las 17:26

    […] Desactivar ordenación en rejillas con CSS en Velneo V7 Deshabilitar controles de formulario con CSS en Velneo V7 […]

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Copyright © Jesús Arboleya 2022