私はADFマスターディテールのコンセプトを扱っています。3レベル構造のADFマスターディテールの動作
Header form (master page)
Detail form (Detail page of Header (master page))
SubDetail form (Detail page of Detail (master page))
だから
Header page has h_id as primary key.
Detail page has d_id(Detail) and h_id(Header) as primary key.
SubDetail page has s_id (subDetail),d_id(Detail) and h_id(Header) as a primary key.
Iは、詳細ページにヘッダページから移動し、任意の挿入または更新を行った後に、テーブルが更新され、テーブルの最初の行の内容をフェッチするいったん。
I 2つのアプローチを試みた:ヘッダVOの結合を取得し、ヘッダh_id値とsetCurrentRowWithKeyValueののrowKeyを設定し、
最初のものを。
詳細(d_id)のh_idのみを検索しているので、これは機能します。
詳細から、私がサブデテイルページにナビゲートしているとき、上記のコンセプトは機能していません。現在の詳細行のサブデテイルをフェッチしません。最初の行のみをフェッチしています。
ここでは、細部(d_id)とヘッダー(h_id)の両方が必要であると仮定しました。しかし、私は両方の値を一緒にrowKey属性に入れる方法はわかりません。
私が試した別のアプローチは、VOにおけるcurrentRowののキーを取得し、プログラム
BindingContainer bindings = getBindings();
BindingContainer parent_binding =getBindingsContOfOtherPage("view_DetailPageDef");
DCIteratorBinding child_dciter = (DCIteratorBinding)bindings.get("SubDetail_VO2Iterator");
DCIteratorBinding parent_dciter = (DCIteratorBinding)parent_binding.get("detail_VO2Iterator");
Key DetailKey=dciter1.getCurrentRow().getKey();
Key parentKey=parent_dciter.getCurrentRow().getKey();
parent_dciter.setCurrentRowWithKey(parentKey.toStringFormat(true));
dciter1.setCurrentRowWithKey(DetailKey.toStringFormat(true));
それを設定することです。しかし、この概念はまた、ヘッダおよび明細レベルで動作します。細部と細部レベルでは機能しません。
getCurrentRow()。getKey()でNull Pointer Exceptionが発生しています。
私はこれをどのように達成できるか教えてください。