Oracle ADF で作成されたアプリケーションがあります。
その中に、VARCHAR列にマップするチェックボックス列を追加する必要があるテーブルがあります。
実際の属性を適切に設定する一時的なブール属性をビュー オブジェクトに作成しました。このセットアップは、私のビジネス コンポーネント テスター/ブラウザーで完全に機能します。ただし、私のJSPXでは、一時属性に基づいてチェックボックスを取得するテーブル列は、データを取得または設定しません。
このセットアップは、このブログで示されているとおりに行われます: Oracle ADF のテーブル コンポーネントにブール チェックボックスを追加します。たとえば、私の実際の属性 (varchar/string) は isCurrent と呼ばれます。isCurrentBoolean (Boolean データ型) という名前の一時的な列を作成しました。これにはそれぞれチェックボックス プロパティが設定されています。行実装クラスを使用して、両方の属性を適切に設定しました。これは、ADF ビジネス コンポーネント テスター/ブラウザで完全に機能します。
ただし、JSPX ページの私のテーブルでは、チェックボックスが有効になっているレコードがチェックされているように表示されません。そして、データを設定しようとすると、コミットプロセスが期間を実行しません(エラーはなく、文字通り実行されません)。
何か案は?
ありがとうございました!
更新 01:
string/varchar 属性に基づいて一時的なブール属性が適切にデータを取得していますが、現在は設定データ部分だけが機能していません。
Row 実装クラスでは、IsCurrentBoolean のセッターが実行されるたびに発生するメッセージを追加しました。チェックボックスがチェックされているときは発火しません。autosubmit を true に設定しました。他にできることがあるかどうかを確認しますが、回避策として、アプリケーション モジュールにメソッドを追加し、チェックボックスの値変更リスナーでそれを起動するだけです。
JSPX コード:
<af:column sortProperty="IsCurrentBoolean" sortable="false"
headerText="Current?" id="c2" width="50">
<af:selectBooleanCheckbox value="#{row.IsCurrentBoolean}" id="sbc1"
autoSubmit="true" />
Row Impl コード: これは一時属性のセッターです (実際の属性を設定します):
if (value) {
this.setProvPracIsCurrent("Y");
setAttributeInternal(ISCURRENTBOOLEAN, value);
} else {
this.setProvPracIsCurrent("N");
setAttributeInternal(ISCURRENTBOOLEAN, value);
}