КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Создание кнопки-флажка в виде элемента на формеВ Oracle Application Express можно создавать кнопки-флажки (check boxes) или в виде отдельных элементов (items), или в столбцах отчета. Кнопки-флажки на форме работают подобно спискам значений. Когда Вы определяете элемент как кнопку-флажок, Вы должны указать значение в секции List of Values на странице редактирования элемента (Item Attributes). Внутри отчета кнопки-флажки создаются с помощью функции APEX_ITEM.CHECKBOX. Необходимо создать на странице Форма Product Information кнопку-флажок, которая автоматически устанавливает значение минимальной цены для продукта как 75% от прейскурантной цены: 1. Для начала создайте на странице Форма Product Information элемент типа радиогруппа (radio group, позднее Вы измените его тип на check box): а. Create – Page control on this page – Item – Radio Group б. Название элемента – P2_SET_MIN_PRICE (предполагается, что работа идет со страницей 2) в. Порядковый номер (Sequence) – 9.5 (этот номер соответствует позиции ниже элемента P2_MIN_PRICE, но выше элемента P2_CATALOG_URL) г. Область – Форма Product Information д. На шаге List of Values: · Щелкните по ссылке Create or edit static List of Values (создать или редактировать статический список значений) · На открывшейся странице введите следующие значения и нажмите Apply:
Обратите внимание на текст, который появился в поле List of Values Query: В этом выражении: * Слово STATIC2 соответствует названию статического списка значений * Пары Да;Д и Нет;Н представляют собой пары <отображаемое значение>;<возвращаемое значение> * Пары значений отделяются друг от друга запятой. · Выберите опцию Display Null Value– No, чтобы не отображать неопределенные значения е. На шаге Source: · Тип источника значений элемента (Source Type) – SQL Query (return single value) · В поле Item Source Value or expression введите следующий запрос: SELECT 'Д' FROM DUAL WHERE :P2_LIST_PRICE * 0.75 = :P2_MIN_PRICE Обратите внимание: DUAL – это системная таблица, состоящая из одного столбца DUMMY строкового типа размера 1 и одной записи, содержащей в этом столбце значение 'X'. Эта таблица используется для выполнения SQL команд, не связанных с выборкой данных из реальных таблиц. Такая таблица необходима, т.к. команда SELECT предполагает обязательное наличие предложения FROM.
2. Создайте на странице Форма Product Information процесс, который устанавливает минимальную цену с 25% скидкой от прейскурантной цены (Create – Page control on this page - Process): а. Тип процесса (шаг Process Type) – PL/SQL б. Название (Name) – Update Min Price в. Точка выполнения (Point) – On Submit - After Computations and Validataions (при отправке – после вычислений и проверок) г. В поле Enter PL/SQL Page Process введите следующий SQL запрос: UPDATE product_information SET MIN_PRICE=(:P2_LIST_PRICE*0.75) WHERE PRODUCT_ID=:P2_PRODUCT_ID; д. В поле Success Message (сообщение об успешном выполнении) впишите е. В поле Error Message (сообщение об ошибке) впишите ж. На шаге Process Conditions: · В поле Condition Type выберите Value of Item/Column in Expression 1 = Expression 2 (значение элемента в выражении 1 = выражению 2) · В поле Expression 1 (выражение 1) введите: P2_SET_MIN_PRICE · В поле Expression 2 (выражение 2) введите: Д 3. Протестируйте работу приложения. 4. Измените элемент P2_SET_MIN_PRICE так, чтобы он отображался не в виде радиогруппы, а в виде кнопки-флажка: а. Откройте страницу редактирования элемента P2_SET_MIN_PRICE б. В поле Display As выберите Checkbox в. В поле Default value (значение по умолчанию) введите Н (что соответствует значению Нет) г. В секции List of Values: · В поле List of values definition введите следующее: STATIC:Установить минимальную цену (25% скидка от прейскурантной цены);Д 5. Протестируйте работу кнопки-флажка на странице Форма Product Information. 6. Создайте динамический список значений возможных статусов продуктов: а. Название – STATUSES б. Таблица-источник – PRODUCT_INFORMATION в. В качестве отображаемого и возвращаемого значений должны выбираться значения из столбца PRODUCT_STATUS (т.к. там хранятся не кодированные значения) г. Каждый из статусов должен быть представлен в списке в единственном числе (в запросе необходимо использовать ключевое слово DISTINCT после SELECT). 7. Измените элемент P2_PRODUCT_STATUS на странице Форма Product Information так, чтобы он отображался в виде списка выбора: а. Используйте список значений STATUSES б. Запретите отображение неопределенных значений 8. Протестируйте форму:
|