martes, febrero 02, 2010

Formularios ZK: Comboboxes y temas de constraints

Hace algún tiempo que vengo desarrollando formularios usando ZK.
ZK es un RIA Framework, muy potente, muy completo, y a veces bastante complejo, sin embargo nada no abordable. Si el objetivo es tener prototipos funcionales cercanos a la versión definitiva, de manera medianamente rápida (a menos que se trate de formularios de más de 20 hojas impresas, llenos de miles de restricciones, y solicitados para plazos imposibles (para ayer)), ZK debiera ser uno de los primeros referentes.

La cosa es que me he enfrentado a 2 problemas recurrentes con una solución no demasiado natural.
Problema: Es necesario rescatar el valor de un campo de selección. El problema radica en que no se puede depender del valor que supuestamente se haya seleccionado en el ComboBox ya que muchas veces no se seleccionan los valores.
Solución: Lo que funciona para mi, y aplica para los casos que he trabajado, es asignar primeramente un valor por defecto al Combobox, un valor que se sepa que existe, Y lo segundo es asignar un evento donde al seleccionar un item del campo de selección, el valor del mismo cambia a la etiqueta.
Problema: Es necesario precargar un formulario con datos, pero al hacerlo se gatillan las restricciones que se han definido.
Solución: Hay 2 opciones, una es cargar los valores con setRawValue(), que permite setear null como valor, quedando el formulario en un estado previo a ser llenado. La otra opción, más directa, es aprovechar el databinding, asignar los valores a variables y cargarlas con value="${valor_variable}" . En este caso hay que tener el cuidado de asignar el valor antes de la definición de las restricciones.

Por algún misterioso motivo había postergado la publicación de este artículo. Seguramente había algo qeu precisar y que había olvidado. En fin.
Publicar un comentario