Difference between revisions of "Campos en Grillas dentro de Grillas"
m (→Ejemplo) |
|||
Line 1: | Line 1: | ||
− | [[category:GXtest | + | [[category: Guías de GXtest]] |
En algunas aplicaciones se utilizan grillas dentro de grillas. Esto se permite con GeneXus a través de las FreeStyleGrid. | En algunas aplicaciones se utilizan grillas dentro de grillas. Esto se permite con GeneXus a través de las FreeStyleGrid. |
Revision as of 16:43, 10 March 2010
En algunas aplicaciones se utilizan grillas dentro de grillas. Esto se permite con GeneXus a través de las FreeStyleGrid.
Para estas situaciones GXtest no graba las acciones de aquellos campos dentro de las grillas incluídas en las grillas padres y es necesario agregar los comandos a mano.
Para esto existe el comando SetGridContext. El mismo permite crear un contexto de grilla el cual establece un criterio de selección para una grilla. Este comando se puede utilizar de manera consecutiva y concatenada para tener varios niveles de inclusión.
Comando SetGridContext
El comando SetGridContext tiene los siguientes parámetros:
- OutputContext (de tipo Variable): en esta variable se devolverá el contexto de la grilla. Dicho contexto se construye a partir de los demás parámetros. Luego esta variable la cual constituye un contexto, será utilizada en los comandos que ejecuten acciones en controles que estén en grillas dentro de grillas.
- InputContext (de tipo Variable, es opcional): este es un contexto de entrada que se puede utilizar para montar el nuevo contexto. Cuando se necesita hacer acciones en varias grillas anidadas se debe utilizar este campo.
- Grid (de tipo Control): grilla sobre la cual se va a establecer el contexto.
- SelectionRule (criterio de selección): criterio de selección para la grilla Grid.
Ejemplo
Supongamos que se tiene una página donde se listan en una grilla todas las facturas y dentro de cada factura se listan sus líneas.
En ese ejemplo supongamos que la grilla que lista las facturas se llama GridFactuas y la que tiene las líneas de cada factura se llama GridFacturasLineas. Luego supongamos que se necesita hacer dos verificaciones con el comando VerifyControlTextTable sobre los campos FacturaLineaMonto y FacturaLineaCantidad.
Para realizar estas dos validaciones se deberían utilizar los siguientes comandos:
- SetGridContext (el contexto ContextoGrillaFacturas me permite ejecutar comandos en la primera fila de la grilla de facturas)
- OutputGrid=ContextoGrillaFacturas
- InputGrid=(vacio)
- Grid=GridFactuas
- SelectionRule=ByRow(1)
- SetGridContext (el contexto ContextoGrillaFacturasLineas me permite ejecutar comandos en la primera linea de la primera factura)
- OutputGrid=ContextoGrillaFacturasLineas
- InputGrid= ContextoGrillaFacturas
- Grid=GridFactuasLineas
- SelectionRule=ByRow(1)
- VerifyControlTextTable (ahora al comando le indico que utilice el contexto adecuado)
- Grid=GridFactuasLineas
- Control=FacturaLineaMonto
- SelectionRule=ByContext(&ContextoGrillaFacturasLineas)
- VerifyControlTextTable (ahora al comando le indico que utilice el contexto adecuado)
- Grid=GridFactuasLineas
- Control= FacturaLineaCantidad
- SelectionRule=ByContext(&ContextoGrillaFacturasLineas)
Una vez que se construyó el contexto, el mismo se puede utilizar para todos los comandos que se desee.