Главная > OA Framework, Oracle e-Business Suite > Создание страницы с таблицей данных


Создание страницы с таблицей данных

Создадим страницу, на которой будут выводится данные по сотрудникам. Данные будут представлены в виде таблицы.

Подготовка

1) Создаем новый проект или открываем существующий
Создание OAF проекта в JDeveloper


2) Создаем новый View Object (VO) или используем существующий
Создание View Object (VO) – только для просмотра данных





3) Уберем из VO условие, для полного просмотра данных.


Создание cтраницы


1) Используя меню создаём новую страницу



2) Задаём имя и путь к странице

Name: xxListEmpPG
Package: xx.oracle.apps.fnd.framework.appsoracle.webui


3) Добавляем созданную страницу в проект используя Project Content



4) На свойствах главного региона region1 устанавливаем

Window Title: XX_EXAMPLE_OAP
Title: Список сотрудников


Создаём Application Module



1) Указываем имя xxListEmpAM. Название application module должно завершаться на AM



2) Переносим view которую будем использовать — xxEmpVO


3) И нажимаем Готово. Добавляем AM в проект используя Project Content.

4) Назначаем созданный AM в свойствах главного региона страницы.


Теперь мы можем использовать на странице ViewObject xxEmpVO


Создаём Controller



1) Задаём имя контроллера xxListEmpCO. Название контроллера завершается на CO.
Проверяем путь к классу — должен находиться в каталоге webui.



2) Нажимаем ok. И получаем сгенерированный класс.




3) Добавим в контроллер выполнение VO.

public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
  super.processRequest(pageContext, webBean);
  // получаем Application Module
  xxListEmpAMImpl am = (xxListEmpAMImpl)pageContext.getApplicationModule(webBean);
  // Выполяем SQL запрос View Object
  // При заходе на страницу, сразу отобразятся данные
  am.getxxEmpVO1().executeQuery();
}


Создаём Query Region

Используя Query region мы можем, в случае необходимости, довольно легко добавить возможность поиска по таблице и использование панели представлений.

Query Region в OA Framework


1) Используя панель Structure добавляем новый регион



ID: queryRN
Construction Mode: resultsBasedSearch
Include Simple Panel: false
Include Views Panel: false
Include Advanced Panel: false
Initial Panel: customized
Show Views Panel Controls: false

Мы ограничили пока все возможности query региона до простого отображения данных. После мы рассмотрим его полностью.

2) Используя wizard создадим таблицу, для просмотра данных.



3) Указываем View Object на котором строим таблицу



4) Указываем тип региона table



5) Выбираем данные для отображения



6) Указываем наименование столбцов таблицы, типы элементов. Так как мы выводим данные только на просмотр, то ставим тип элемента messageStyledText



6) Жмём Готово.



7) В свойствах таблицы, выставляем ширину 100%



Проверка


Запускаем страницу на просмотр.



Если все сделано правильно, то должна появится страница:

Похожие записи:

  1. Илдар
    10 Ноябрь 2012 в 12:54 | #1

    а если View Object сделать не только для чтения, а содержит Enitity Object, то .executeQuery() уже не помогает — при старте формы данные не отображаются.
    Как заставить показывать при старте для View Object на основе Enitity Object ?

  2. 13 Ноябрь 2012 в 12:00 | #2

    @Илдар
    Наличие EO, насколько я помню, влиять не должно.

  3. Илдар
    15 Декабрь 2012 в 16:40 | #3

    @Илдар
    Давно это было…
    Да, не влияет.
    Там оказывается нужно было указать ControllerAM или что-то подобное для региона.

  4. Сергей
    27 Июнь 2013 в 13:43 | #4

    Добрый день!

    Не нашел описания xxListEmpAMImpl. Может где на других страницах?

  5. Сергей
    24 Октябрь 2013 в 17:02 | #5

    Добрый день!
    Не подскажите — попытался добавить на регион xxEmpVO1 SingleSelection, настроил у него
    ViewInstance xxEmpVO1
    ViewAttribute empno

    DataType NUMBER
    при запуске завершется с ошибкой
    Error Page
    You have encountered an unexpected error. Please contact the System Administrator for assistance.

    Если для ViewAttribute задаю текстовое поле xxEmpVO1 — оно вроде работает.
    Но если выбираю строку и перехожу на другую страницу выкидывает сообщение
    Row 3 EName — Attribute set for EName in view object xxEmpVO1failed
    При этом в выделенной строке появляется следующая запиь
    Attribute set for EName in view object xxEmpVO1 failed

    Не подскажите как с этим бороться

  6. Сергей
    25 Октябрь 2013 в 09:58 | #6

    Задачка решилась, если вдруг кому понадобится расскажу как.
    Выполняя указанный пример, решил добавить к талице возможность выбора строки — установил на таблицу xxEmpVO1 региона queryRN — SingleSelection. В свойствах указал
    ViewInstance xxEmpVO1
    ViewAttribute empno
    Запустил на выполнение — страница не открылась.
    Как решилось.
    Т.к. наш ViewObj создавали ReadOnly, то все поля его (Edit xxEmpVO1-Attributes-Имя поля) Updatable — Never. Выбрал поле EName, указал ему Updatable — Always.
    Вернулся на xxListEmpPG.xml — QueryRN — singleSelection. В свойстве ViewAttribute поставил EName.
    Все заработало в нужном режиме.
    Еще один нюанс: поле EName имело тип String. Для поля empno, которое у меня имело тип Number такой номер не прошел!

  1. Пока что нет уведомлений.