ASP.NET から来て、基本的な ADF の概念に苦労しています。
ボタンのクリックでテーブルをバインドする必要がありますが、何らかの理由で理解できません (ASP.NET とは異なると思われるページのライフサイクルに傾倒しています)。
これは私のADFコードです:
<af:commandButton text="#{viewcontrollerBundle.CMD_SEARCH}"
id="cmdSearch"
action="#{backingBeanScope.indexBean.cmdSearch_click}"
partialSubmit="true"/>
<af:table var="row" rowBandingInterval="0" id="t1"
value="#{backingBeanScope.indexBean.transactionList}"
partialTriggers="::cmdSearch"
binding="#{backingBeanScope.indexBean.table}">
<af:column sortable="false" headerText="idTransaction" id="c2">
<af:outputText value="#{row.idTransaction}" id="ot4"/>
</af:column>
<af:column sortable="false" headerText="referenceCode" id="c5">
<af:outputText value="#{row.referenceCode}" id="ot7"/>
</af:column>
</af:table>
これは cmdSearch_click です:
public String cmdSearch_click() {
List l = new ArrayList();
Transaction t = new Transaction();
t.setIdTransaction(BigDecimal.valueOf(1));
t.setReferenceCode("AAA");
l.add(t);
t = new Transaction();
t.setIdTransaction(BigDecimal.valueOf(2));
t.setReferenceCode("BBB");
l.add(t);
setTransactionList(l);
// AdfFacesContext.getCurrentInstance().addPartialTarget(table);
return null;
}
コメント行も機能しません。
Bean のコンストラクターにリストを入力すると、テーブルは正常にレンダリングされます。
何か案は?