我在表格上创建了一个报表和表单。表单页面是“表格形式”,其中所有列都是可编辑的。在“表单”页面中,我有一个查找按钮。点击此按钮后,它将导航到新页面,其中包含“行选择器”的视图顶部的报告。
当用户可以选择行列表并单击提交时,所选行应插入到表格表单页面中。能否解释一下我是如何做到这一点的。
由于没有人回答你的问题,请根据我目前的知识和经验,说几句话。请注意,有人可能会有另一个更好的想法和意见。
在表格上创建表格形式,其来源是SELECT
语句。假设您要在某个报告页面上检查行选择器复选框,然后将这些值转换为另一个页面上的表格形式是make-a-wish语句。我会说这些值应该是INSERTED
到一个表(在其上创建表格形式),然后表格形式应该执行重新查询以获取这些行。
截至报告中的“检查行选择器复选框”并对这些行执行“某事”:男孩,我不知道该怎么做。是的,我已经用表格形式的自己的复选框项目选择了行(注意区别:不是在报告中,而是以表格形式),这更像是一种痛苦而不是一种快乐。
我建议你阅读以下Patrick Wolf的文章:Which Tabular Form Column is mapped to which Apex_Application.g_fxx array?。为什么?因为它解释了如何处理g_fxx array
。以表格形式操纵值是一种手段。只是为了展示我在4.x Apex版本中使用的一个例子(不,我没有更新的代码),这样你就可以了解它应该如何完成;这是一个在提交时触发的页面进程。
等等;这些是表格形式的项目
/* 01 - ID
02 - CB_NEDOSTATAK
03 - CB_HITNOST
04 - CB_OTKLONJEN
05 - NAPOMENA
*/
begin
for i in 1 .. apex_application.g_f01.count loop
update dg_pregled set
cb_nedostatak = case when apex_application.g_f02(i) = 1 or
apex_application.g_f03(i) = 1 then 1
else 0
end,
cb_hitnost = decode(apex_application.g_f03(i), 1, 1, 0),
cb_otklonjen = case when apex_application.g_f02(i) = 1 and
apex_application.g_f04(i) = 1 then 1
else 0
end,
napomena = apex_application.g_f05(i)
where id = apex_application.g_f01(i);
end loop;
end;
基本上,你会做那样的事情;而不是UPDATE
,你会做INSERT
。
正如我所说:这不一定是你问题的最佳解决方案,但这就是我能说的。祝好运!