miércoles, 18 de junio de 2014

Cómo seleccionar el primer elemento de una LOV

Como sabemos, las Listas de valores (LOV por su sigla en inglés) se usan en las View Objects para dar al usuario diversas opciones de valores que puede tener un atributo.
Es frecuente que el usuario desee que el atributo en cuestión tenga un valor por defecto, lo cual no es difícil de lograr cuando la lista tiene valores fijos, pero cuando la LOV es dinámica y trae su contenido de algún View Accessor esto representa un desafío.
Cuando intentamos hacer que el primer elemento de la lista se seleccione desde la página JSF o desde su back bean generalmente obtenemos resultados no deseados.
Lo correcto es trabajar esto desde el model, configurando el valor por defecto del atributo al que se vincula la LOV
Así por ejemplo si tenemos una tabla de empleados a la que hay que asignarle un departamento los pasos a seguir serían los siguientes:
  • 1.       Crear un view Accessor ‘Departamentos’ en la View Object Empleados
  • 2.       Crear una LOV que use el View Accessor ‘Departamentos’ para el atributo NumeroDepartamento
  • 3.       Cambiar el valor por defecto (Default Value) del atributo NumeroDepartamento a la expresión Departamentos.min(“Numero”)
  • 4.       Poner el campo ‘Refresh Expression Value’ en false, de lo contrario no se podrá cambiar el valor del atributo