Хорошо, я дам вам подсказку, как реализовать свой сценарий.
Вещи, которые вам нужны, чтобы заставить его работать:
custom tabular
для - у вас уже есть это
on demand process
что fetchs цена продукта из БД
dynamic action
слушать, если значение в f03
изменилось
по запросу процесс
Создать на процесс спроса имени getPrice
с помощью следующего кода
declare
v_price number;
begin
select
price
into
v_price
from
products
where
product_id = apex_application.g_x01;
htp.p(v_price);
exception
when others then
htp.p(SQLERRM);
end;
динамическое действие
Вы должны слушать изменения событий на JQuery селектор :input[name=f03]
. Создайте динамическое действие с истинным действием Execute JavaScript Code
.
В рамках действительного действия вы должны сделать ajax-вызов до on demand process
. Примерный код (рабочий) приведен ниже:
var
xhr2,
self = $(this.triggeringElement),
productId = self.val(),
row = self.closest('tr');
xhr = $.ajax({
url:'wwv_flow.show',
type:'post',
dataType: 'text',
traditional: true,
data: {
p_request: "APPLICATION_PROCESS=getPrice",
p_flow_id: $v('pFlowId'),
p_flow_step_id: $v('pFlowStepId'),
p_instance: $v('pInstance'),
//p_arg_names: [ item_id ],
//p_arg_values: [ itemValue ],
x01: productId
},
success: function(resultData, textStatus, ajaxObj){
//do stuff after fetching product price
row.find(':input[name=f04]').val(resultData)
},
error: function(jqXHR, textStatus, errorThrown){
alert('Error occured while retrieving AJAX data: '+textStatus+"\n"+errorThrown);
}
});
Сложите материал вместе, и у вас будет ответ на ваш вопрос.
Ps. Не забудьте отметить ответ как полезный, если это ответ на ваш вопрос.