我尝试过多次尝试填充报表,从而在选择列表中选择一个值。我已经接近但不够接近正确的答案。有没有人有解决方案?
这是代码
目前,我有一个选择列表,可以选择员工跟踪,并根据以下内容在选择列表中填充员工跟踪:app_user。
值列表定义:
SELECT track_name AS display_value,
track_id AS return_value
FROM ref_track
ORDER BY 1
选择列表的来源值:
SELECT "REF_TRACK"."TRACK_NAME" AS display_value,
"REF_TRACK"."TRACK_ID" AS return_value
FROM "REF_STAFF",
"REF_PLAN",
"WORK_ITEM",
"REF_RELEASE",
"REF_TRACK"
WHERE "REF_RELEASE"."RELEASE_ID" = "REF_PLAN"."RELEASE_ID"
AND "REF_TRACK"."TRACK_ID" = "REF_PLAN"."TRACK_ID"
AND "WORK_ITEM"."WR_ID" = "REF_PLAN"."WORK_ITEM_ID"
AND Nvl("REF_STAFF"."REF_STAFF_TRACK_ID", "REF_PLAN"."TRACK_ID") =
"REF_PLAN"."TRACK_ID"
AND (( "REF_STAFF"."STAFF_USER_ID" = :APP_user ))
我现在在其下面有一个报告,当页面加载时,该报告也会根据:App_user
生成数据。
报告源代码:
SELECT "REF_PLAN"."PLAN_ID" "PLAN_ID",
"REF_PLAN"."WORK_ITEM_ID" "WORK_ITEM_ID",
"REF_PLAN"."TRACK_ID" "TRACK_ID",
"REF_PLAN"."PLANNED_TOT_HRS" "PLANNED_TOT_HRS",
"REF_PLAN"."PLAN_START_DATE" "PLAN_START_DATE",
"REF_PLAN"."PLAN_END_DATE" "PLAN_END_DATE",
"REF_PLAN"."COMMENTS" "COMMENTS",
"REF_PLAN"."RELEASE_ID" "RELEASE_ID",
"WORK_ITEM"."WR_ID" "WR_ID",
"WORK_ITEM"."WR_NUM" "WR_NUM",
"REF_RELEASE"."RELEASE_ID" "RELEASE_ID2",
"REF_RELEASE"."RELEASE_NUM" "RELEASE_NUM",
"REF_TRACK"."TRACK_ID" "TRACK_ID2",
"REF_TRACK"."TRACK_NAME" "TRACK_NAME",
"REF_STAFF"."REF_STAFF_TRACK_ID" "REF_STAFF_TRACK_ID",
"REF_STAFF"."STAFF_USER_ID" "STAFF_USER_ID"
FROM "REF_STAFF",
"REF_PLAN",
"WORK_ITEM",
"REF_RELEASE",
"REF_TRACK"
WHERE "REF_RELEASE"."RELEASE_ID" = "REF_PLAN"."RELEASE_ID"
AND "REF_TRACK"."TRACK_ID" = "REF_PLAN"."TRACK_ID"
AND "WORK_ITEM"."WR_ID" = "REF_PLAN"."WORK_ITEM_ID"
AND Nvl("REF_STAFF"."REF_STAFF_TRACK_ID", "REF_PLAN"."TRACK_ID") =
"REF_PLAN"."TRACK_ID"
AND (( "REF_STAFF"."STAFF_USER_ID" = :APP_USER ))
AND "REF_PLAN"."TRACK_ID" = :P47_TRACK_LIST
我尝试添加此行以从选择列表中选择。
有没有办法操纵此代码,以便能够从我的列表中选择一个曲目,并根据我的报告中的曲目选择填充数据。我还想告诉您,我的选择列表值基于提交页面。如果你能帮助我,请告诉我。当我看了一整天并且无法想出代码时,它令人沮丧。此外,如果有任何其他方式可以探索或其他选项,请告诉我。
答案 0 :(得分:0)
如果希望在更改选择列表的选定值时更新报告,可以通过两种方式执行此操作。但两者都归结为相同的原则:您选择的值必须提交到会话状态,以便报告对其进行过滤。
解决方案1:让选择列表提交/重定向页面。这会将您的选择列表的值提交给会话,然后重新加载页面。通过重定向,您将填写浏览器历史记录:选择一个值几次,然后在浏览器上使用“返回”来浏览您所做的选择。或者使用提交,这也会重新加载页面,但不会填写历史记录。但是仍然会有一个额外的历史记录条目(初始和第一次重新加载,重新加载后不在历史记录中)。
通过编辑选择列表,转到“设置”区域以及更改值时更改页面操作来查找选项。
解决方案2:通过动态操作刷新报告区域。这不会重新加载页面,它会“刷新”您的报告。这可能是用户最友好的,这取决于你是否喜欢重新加载页面:) 你需要一个动态选项,配置如下:
有了这些真实的行动细节:
最重要的是,要确保将所选值提交到会话状态:将项目添加到刷新报表时要提交的项目列表中。
我设置了一个示例here