2.1. La clase DimensionDefaultingControllerBase

En el post anterior aprendimos agregar un tab con las dimensiones pero, ¿Y si no queremos que se muestren todas o no queremos que se pueda editar alguna?

Para poder realizar esto tan solo debemos modificar la clase encargada de crear los controles, la DimensionDefaultingControllerBase.



Vamos hacer un pequeño ejemplo para que podáis ver las posibilidades.
Ahora mismo podemos observar las tres dimensiones activas.


Lo que vamos hacer es esconder la dimensión CostCenter e inhabilitar la Department para nuestro formulario.

Lo que debemos hacer es buscar el método setupEditAreaControls y hacia el final del método existe
un while select donde se crean los controles de las dimensiones, más exactamente el método addEditControls.

Si miramos la imagen podemos ver que lo que hacemos es comprobar si es nuestro formulario (CustDimension) y si la dimensión es la costCenter, en caso afirmativo le hacemos un continue para que pase  el if de la parte inferior, que es el que nos llevaría al método que crea los controles.


Ahora inhabilitaremos la dimensión departamento para este formulario, lo que haremos será una vez creado el control inhabilitarlo.
Para eso nos iremos al método addEditControls y añadiremos la siguiente porción de código después del if (_showValues) que es el encargado de crear el control.
Como se puede ver he aprovechado para cambiarle el texto de la etiqueta.


y aquí tenemos el resultado.



Comentarios