これで、ユーザーが行を選択すると、いくつかのPPRアクション(いくつかの項目を非表示にしたり、他の項目を表示したり、いくつかのフォームに入力したりするなど)を開始する結果テーブルができました。
テーブルに結果が1つしかない場合、その行をクリックしてもPPRが開始されないことに気付きました。テーブルに常に最初の行を選択させることで、1つの石で2羽の鳥を殺したいと思っていました。ただし、これを行っても、結果テーブルで選択が行われたことをページ上の他のコンポーネントに通知しないことがわかりました。
では、行選択を設定した後にバッキングBeanで呼び出すことができる簡単な関数はありますか?これは、アクションを実行する時間であることを部分トリガーに通知しますか?
それがここで役立つ場合は、これまでの関連コードです。
Object rowKey = this.queryResultsMainTable.getAttributes().get("scrollTopRowKey");
RowKeySet rks = this.queryResultsMainTable.getSelectedRowKeys();
rks.clear();
rks.add(rowKey);
その後、私は次の2つのアプローチを試みましたが、どちらもPPRを開始していないようです。
SelectionEvent se = new SelectionEvent(findComponentInRoot("resId1"), rks, rks);
personnelResultsTableSelectionEvent(se);
と
AdfFacesContext.getCurrentInstance().partialUpdateNotify( findComponentInRoot("resId1") );