суббота, 18 января 2014 г.

Использование af:iteraror вместо af:table в JDeveloper

       В Oracle ADF стандартным компонентом для отображения таблиц баз данных является af : table.
       Это стандартная таблица. Часто бывает так, что заказчик хочет увидеть данные не в виде таблицы, а в каком то другом виде. Для этого существует af:iterator. Этот  компонент выводит данные  с БД в том виде, какой вы создадите : )

       af:iterator   в отличии af : table  нельзя создать путем  переноса VO c DataControl. Но что бы не создавать в ручную итераторы и   компонент, мы переконвертируем  компонент af:table.

Приступим.

1. Создайте приложение ADF приложение
2. Добавьте connection с базой к стандартной схеме  Scott.
3. Их соединения scott добавьте ADF Busines Component  Emp
4. Создайте jspx страницу
5. Добавьте на страницу c DataControl EmpView1  как таблицу.
Страница должна выглядеть так



6. Добавьте с палитры компонентов af:iterator
7. Зайдите на вкладку Source  и скопируйте с af:table в af:iterator значения value,var и rows.

 <af:iterator id="i1" rows="#{bindings.EmpView1.rangeSize}" 
                    value="#{bindings.EmpView1.collectionModel}" var="row">
 </af:iterator>


8. Скопируйте  все атрибуты  c af:table в af:iterator ( элементы внутри af:column).
9. Удалите компонент af:table
10. Готово. Теперь эти атрибуты можно отображать как захочется : ).