oracle 696x348

En el día de hoy me encontré con un requerimiento un poco trivial pero que requierió un poco de investigación para poder solventarlo.

Cuando creamos tablas en ADF a partir de un DataControl generado a partir de un objeto de base de datos y queremos que cuando esta tabla cargue venga pre-ordenada es cuestion de dar unos cuantos clicks para elegir el campo y el tipo de ordenamiento que requiere, por ejemplo:

Tengo una tabla “BunkeCo” de cual generé un DataControl y a partir de ese DataControl una Tabla ADF y quiero ordenarla por el campo seq (secuencia)

Lo que debemos hacer es ir a la pestaña de bindings, elegir el Iterator y darle click a editar

dc pojo01

Se nos abrirá un popup en el cual iremos a la opción de “Sort Criteria” y eligimos el criterio de ordenamiento que queremos para nuestro campo:

dc pojo02

y el resultado nos dará la tabla pre-ordenada.

Data Control de una clase POJO

Sin embargo esta situación cambia cuando tenemos un DataControl generado a partir de una clase POJO ya que las opciones para ordenamiento quedan ocultas, por ejemplo este iterator:

dc pojo03

Como se puede observar el tab de “Sort Criteria” se encuentra oculto por lo cual no puedo seleccionar sobre que campo deseo realizar el ordenamiento.

Para solucionar esta situación lo que hay que hacer es ir al “PageDefinition” y buscar el iterator del cual quieremos ordenar y añadir el siguiente tag:

        <sortCriteria>             <sort attribute="shortName" ascending="true"/>         </sortCriteria>

 y colocar el nombre del “attribute” exactamente como se llama el campo que queremos ordenar.

En mi caso el “PageDefinition” quedó de la siguiente manera:

dc pojo04

Espero este tip les ayude en caso de encontrarse con un escenario como este.