0

ツリーノードをクリックして、ツリーの同じページでレポート(クラシック/インタラクティブ)をフィルタリングする方法を知る必要があります。この例は、このサイトにあります。

http://apex.oracle.com/pls/apex/f?p=36648:34:1599336964673301 :: NO :::

私は自分のツリーを構成するためにこのクエリを試しました:

select case when connect_by_isleaf = 1 then 0
            when level = 1             then 1
            else                           -1
       end as status, 
       level, 
       "NAME" as title, 
       null as icon, 
       "ID" as value, 
       null as tooltip, 
       decode(level, 1, 'f?p=&APP_ID.:106:'||:APP_SESSION||'::::P106_MAQ_ID:'||ID, 
                     2, 'f?p=&APP_ID.:106:'||:APP_SESSION||'::::::::P106_MAQ_ID:'||(ID-1000), 
                     3, 'f?p=&APP_ID.:104:'||:APP_SESSION||'::::P106_MAQ_ID:'||(ID-10000), 
                     4, 'f?p=&APP_ID.:105:'||:APP_SESSION||'::::P106_MAQ_ID:'||(ID-100000)
             ) as link 
from "#OWNER#"."V_TREE1"
start with "PID" is null
connect by prior "ID" = "PID"
order siblings by "NAME"

ただし、渡されたパラメーターは、渡されたIDを持つ1行のレポートを変更しません。上記のウェブサイトに表示されているのと同じ結果を得る必要があります。

レポートを介して編集するためにアクセスされるが、表示されないフォームである別のページにリダイレクトするアクションで成功しました。そして、同じページに表示したいです。

以下は、リダイレクトに使用したクエリです。

select case when connect_by_isleaf = 1 then 0
            when level = 1             then 1
            else                           -1
       end as status, 
       level, 
       "NAME" as title, 
       null as icon, 
       "ID" as value, 
       null as tooltip, 
       decode(level, 1, 'f?p=&APP_ID.:102:'||:APP_SESSION||'::::P102_MAQ_ID:'||ID, 
                     2, 'f?p=&APP_ID.:103:'||:APP_SESSION||'::::P103_SRV_ID:'||(ID-1000), 
                     3, 'f?p=&APP_ID.:104:'||:APP_SESSION||'::::P104_INS_ID:'||(ID-10000), 
                     4, 'f?p=&APP_ID.:105:'||:APP_SESSION||'::::P105_SIS_ID:'||(ID-100000)
             ) as link 
from "#OWNER#"."V_TREE1"
start with "PID" is null
connect by prior "ID" = "PID"
order siblings by "NAME"

手伝ってくれてどうもありがとう。

4

1 に答える 1

0
  • ツリーのあるページは何ですか?ページ106?
  • そこにアイテムはありますか?
  • そのページにはレポートがありますか?
  • そのレポートに使用されるクエリは何ですか?

ほとんどの場合、レポートクエリを変更していません。ツリー/レポートページが106であり、結果をにフィルタリングするとしますP106_MAQ_ID。where-clauseにこれを含める必要があります。

SELECT ...
FROM ...
WHERE MAQ_ID = :P106_MAQ_ID;

投稿されたクエリにもエラーがあります。レベル2のデコードには、有効な頂点URLに対してコロンが多すぎます(2, 'f?p=&APP_ID.:106:'||:APP_SESSION||'::::::::P106_MAQ_ID:'||(ID-1000),)

于 2012-07-24T07:52:11.390 に答える