Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teníamos un web panel que desplegaba información de los clientes y permitía filtrar la información desplegada por
nombre completo del cliente.
Ahora supongamos que queremos poder trabajar con un cliente, agregando una acción que se active al cliquear
sobre una imagen del grid (la de un avión por ejemplo), y que muestre los datos de los vuelos en los que el cliente
está registrado…
FlightFinalPrice…
FlightSeatId…
Y FlighSeatChar…
Pero, ¿dónde le estamos indicando que cargue sólo los datos de los vuelos del cliente seleccionado?
Tendremos que recibir el identificador de cliente en la regla parm… por ejemplo en una variable…
Y luego especificar como condición del grid que el atributo CustomerId asuma el valor recibido por parámetro…
Con eso, lo único que nos estará faltando será pasarle el cliente seleccionado al web panel cuando lo invoquemos
desde la acción…
En las columnas del grid, agregamos una nueva, que es donde vamos a cargar la imagen de avión … como en un grid
estándar las columnas sólo pueden ser atributos o variables, insertemos entonces una nueva variable, en la que
cargaremos luego la imagen…
Tenemos que cargarla con la imagen adecuada. Para eso, debemos insertar esa imagen en la KB, para poder utilizarla
luego donde necesitemos.
2
Page
La elegimos…
Y grabamos…
El lugar más apropiado sería el evento Start, que es lo primero que se ejecuta…
Hagamos F5
4
Page
Nos está faltando únicamente asociarle la acción. Como queremos que al hacer clic sobre la imagen se invoque al
web panel…
Podemos programar el evento click, asociado al control… de nombre flightImage, el nombre de la variable.
Event &flightImage.Click
CustomerFlights( CustomerId )
Endevent
5
Page
Hagamos F5.
Por otro lado, los datos de los vuelos del cliente están saliendo vacíos.
¿Por qué?
Porque estamos enviando por parámetro CustomerId, pero si vamos al grid, este atributo no se encuentra
presente… ni visible, ni invisible. Si tenemos presente que luego de cargado el grid sólo tenemos disponibles los
atributos y variables definidos como columnas, entonces la invocación pasará como parámetro un valor vacío, ya
que no tenemos una columna para CustomerId.
Por lo tanto, necesitamos agregarla al grid, dejando al atributo CustomerId oculto, ya que no nos interesa mostrarlo.
Y damos nuevamente F5
Observemos que en lugar de haber programado el evento click sobre la imagen de avión, podríamos haberle
asignado al control el evento Enter , que en este caso no es el más adecuado, dado que no tendría sentido presionar
la tecla enter para ejecutarlo…porque, ¿a qué cliente correspondería?
Y vamos a programarlo…
8
Page