Alcance
Objetos:
Transacciones, Web Panels
Lenguajes: .NET, C/SQL,
Visual Basic , Java
Interfaz: Web
Introducción
Hasta el
momento en las grillas utilizadas en los objetos web (Transacciones con interfaz
web, Web Panels) no era posible seleccionar una línea. Pero a partir de la
Release Candidate de GeneXus 8.0, se puede seleccionar cualquier línea de una
grilla web, y operar con ella.
Si se desea,
también es posible iluminar el fondo de las líneas de una grilla cuando el
cursor pasa por encima de ellas.
Descripción
Esta
característica es útil para utilizar Web Panels de la forma en que se usan los
Work Panels en las aplicaciones con interfaz Win ("Trabajar con..."). Es decir,
una vez seleccionada una línea, se puede llamar a las Transacciones con interfaz
Web en los diferentes modos permitidos por GeneXus, y dar de alta registros,
modificarlos o eliminarlos directamente trabajando sobre la
Transacción.
En versiones anteriores esto no era posible, el usuario
debía encontrar otras formas de programarlo, por ejemplo implementando un link
sobre uno de los campos del gridde la grilla llamando a la transacción asociada
en modo 'Update'. ¿Pero qué hacer para llamarla en modo 'Delete' o 'Display' ?
Los usuarios utilizaban distintas técnicas para estos casos.
Con la incorporación de esta funcionalidad el problema
está resuelto y es más fácil migrar de Win a Web, simplemente se sigue
programando de la misma forma que en Win. Pero además de facilitar la migración
ofrece tambien una gama mas amplia de posibilidades en la programación de
diálogos en Web, como se ilustra con el ejemplo que se presenta más adelante, y
disponible en GXOpen (http://www.gxopen.com/hproject.asp?122)
Para configurar esta funcionalidad, en diseño se cuenta
con un grupo de propiedades dentro de la sección Selection:
Para poder realizar la selección de líneas en grillas
web, se implementaron las siguientes propiedades:
AllowSelection
Valores
True - Especifica que es
posible seleccionar una línea en la grilla.
False ?
No permite seleccionar una línea de una grilla.
Valor por Defecto = False
SelectionColor
Color con
el que se pintará el fondo de la línea seleccionada en caso que la propiedad
AllowSelection seleccionada sea True.
Para
seleccionar un color se debe presionar el botón
Valor por Defecto = Ultra Light Cyan
AllowHovering
Valores
True - Especifica que se
pintarán el fondo de las líneas de la grilla cuando se pasa el cursor por encima
de ellas.
False ? No permite pintar el fondo de
una línea de una grilla.
Valor por Defecto =
True
HoveringColor
Color con
el que se pintará el fondo de la línea sobre la cual está posicionado el cursor
en caso que la propiedad AllowHovering seleccionada sea True.
Para
seleccionar un color se debe presionar el botón
Valor por Defecto = Cyan
Ejemplo
En la figura se muestra la ejecución de un objeto Web con
las propiedades AllowSelection = True y AllowHovering =True.
Notas sobre la figura:
-
La línea seleccionada es la '9' (El color es resultado de esta configuración:
).
- El mouse se
encontraba sobre la linea '7' (El color es resultado de esta configuración:).
Consideraciones
Estas
propiedades están disponibles en diseño al nivel de la grilla dentro del grupo
Appearance/Selection y también en tiempo de ejecución. Por ejemplo, es posible tener en un evento:
Event 'Seleccion'
grilla1.AllowSelection = 1
EndEvent
Al ejecutar el evento se permitirá la selección de líneas
de la grilla y dependiendo del valor que se tenga en la propiedad AllowHovering
de la grilla se pintarán o no las líneas cuando se pase el cursor sobre
ellas.
Los colores que se utilizarán en ambos
casos, serán los que están configurados en las propiedades de la
grilla.
No se soporta la selección múltiple,
solamente se permite la selección de una línea por vez
Esta característica está implementada para las aplicaciones Web que
se ejecuten en los navegadores Internet Explorer 5.5 o superior y Netscape 6.X o
superior.