[SEAM] dataTable下無法執行方法?

CarlKing 2009-05-12

 為何在dataTable無法使用a4j:commandButton?

 

 本人需要a4j:commandButton來執行一個帶參數的方法并彈出 rich:modalPanel顯示,s:button雖然能執行方法傳參,但彈出的rich:modalPanel就是 一閃而過 自行關閉了(注:modalPanel的keepVisualState已經設置為“true”)

  希望得到指點。

 

<rich:dataTable value="#{formTypes}"

<rich:column>
<f:facet name="header">表單類別</f:facet>
<h:outputText value="#{f.name}" />
</rich:column>


<rich:column>
<f:facet name="header">操作</f:facet>
<a4j:commandButton action="#{createForm.findProposerInformation}"
value="發起" 
 reRender="chooseForm" >
</a4j:commandButton>
</rich:column>


</rich:dataTable>

 

 

5day 2009-05-12
<a4j:commandButton action="#{createForm.findProposerInformation}"
value="發起"  reRender="chooseForm" oncomplete='#{rich:component("chooseForm")}.show()'>
</a4j:commandButton> 
coolstone 2009-05-13
请参阅Seam reference2.1的这个小节33.1.2. Limitations and Hints
CarlKing 2009-05-14
5day 写道
<a4j:commandButton action="#{createForm.findProposerInformation}"
value="發起"  reRender="chooseForm" oncomplete='#{rich:component("chooseForm")}.show()'>
</a4j:commandButton> 




這只是另外一種打開方式,不過用在s:button結果還是 一閃而過,只能用a4j:commandButton 而用a4j:commandButton又不能執行方法。

在過程中,突然發現一個奇怪的現象,
 若是把 DataTable里面的value值formTypes(這個是直接拿dataModel的名稱)換成formTypeQuery.resultList(SEAM組件名+結果集)這樣的話 就可以在DataTable里面執行a4j:commandButton的action方法。-_-!

 注(richface3.22 +seam2.1)

就可以執行方法
下面是后臺獲取DataTablevalue值代碼

@Name(value = "formTypeQuery")
@Scope(ScopeType.CONVERSATION)
public class FormTypeQuery extends EntityQuery<FormType>{

    -----------略-----------
@DataModel(value = "formTypes")
@Override
public List<FormType> getResultList() {
return super.getResultList();
}

 

}

Global site tag (gtag.js) - Google Analytics