0

標準レポートとして使用している次の select ステートメントがあります。

select id,
       name,
       telephone,
       apex_item.checkbox2(10,id) as "Tick when Contacted",
       apex_item.text(20,:P2_DATE) as "Date Contacted",
       apex_item.textarea(30,:P2_COMMENT,5,80) as "Comment"
from   my_table

私の質問は、これを正しく行っているかどうかわからない領域は、このステートメントが 10 行を返し、それらの 10 行から 5 つのレコードのみを選択/チェックしてから送信ボタンを押すことです。選択したレコードを別のテーブルに挿入する PL/SQL ページ プロセスが検出されず、ページ上の非表示アイテムであり、純粋にプレースホルダーとして使用さ:P2_DATE:P2_COMMENT、my_table 内の実際の列ではありませんか?

これを正しく行っていますか、それとも頂点コレクションを使用する必要がありますか?

私のページのプロセスは次のようになります。これは正しいです?

DECLARE

  v_row          BINARY_INTEGER;

BEGIN
  FOR i IN 1..APEX_APPLICATION.G_F10.COUNT LOOP
    v_row := APEX_APPLICATION.G_F10(i);

    INSERT INTO MY_OTHER_TABLE
                   ( DATE_CONTACTED,
                     COMMENTS 
                   )
    VALUES         ( APEX_APPLICATION.G_F20(v_row),
                     APEX_APPLICATION.G_F30(v_row) 
                   );
  END LOOP;

  COMMIT;
END;

ユーザー入力を含むレポートの例は次のとおりです。

ID/CHECKBOX         DATE CONTACTED          COMMENTS
=====================================================
1                   21/08/2012              Comment 1
2                   21/08/2012              Comment 2
3                   21/08/2012              Comment 3
4                   21/08/2012              Comment 4
5                   21/08/2012              Comment 5

ユーザーがこれらの 5 つのコメントを手動で入力したこのレポートに基づいて、これらの 5 つのレコードはチェック済みであるため、MY_OTHER_TABLE に挿入されると予想されます。

残念ながら、私がチェックした 5 つのレコードに対して MY_OTHER_TABLE が入力されることはありません。

何かを見逃してしまったのか、それともこれら 2 つのプレースホルダー アイテムの使用に関して元の選択を完全に間違えたのか、よくわかりません。

4

1 に答える 1

2

あなたのコメントであなたは言う

ソースが基礎となるOracleテーブルからのものではない場合、apex_item.text APIを使用できますか?

今、私はそれを次のように読みます:

このレポートを生成し、apex_item フィールドのデフォルト値を 2 つのページ アイテムのデフォルト値に設定することはできますか?

はい。あなたはできる。それは私があなたが最初に意味したことだと思っていたものであり、とにかくアイテムが隠されているので理にかなっています. 以下を確認し
てください: ページの読み込み時にレポート アイテムに値が入力されないことを意味する場合:
非表示のアイテムを含む領域がレポートを含む領域の下にある場合は、アイテムを含む領域を移動するか、新しい領域を作成します。あなたのレポートで領域の上。
上と下で、フォーム構造におけるそれらの位置について話しています。これを簡単に確認するには、コンポーネント ビューを使用している場合は、ツリー ビューに切り替えます。
私の推測では、アイテム (およびそのソース) は以前に処理されているため、レポートのレンダリングが開始される前に有効なセッション状態になっていると思います。

于 2012-08-21T14:15:57.260 に答える