2012-06-08 85 views
1

每按一次按鈕,數據表將刷新。 我需要更改哪些內容以避免刷新數據表?如何避免在ICEfaces中自動刷新頁面?

<ice:dataTable id="dataList" style="width:100%;border-width:0px" 
    columnWidths="30px, 100px;" border="1" 
    value="#{bookService.model}" var="row" rows="25"> 

    <ice:column id="columnId"> 
     <f:facet name="header"> 
      <ice:outputText value="Lfd-Nr"></ice:outputText> 
     </f:facet> 
     <center> 
      <ice:outputText value="#{row.lfdNr}"></ice:outputText> 
     </center> 
    </ice:column> 

    <ice:column id="columnTitle"> 
     <f:facet name="header"> 
      <ice:outputText value="Anrede" /> 
     </f:facet> 
     <center> 
      <ice:outputText value="#{row.anrede.anredeText}" /> 
     </center> 
    </ice:column> 
</ice:dataTable> 


<h:form id="formtest"> 
    <ice:commandButton id="btn" value="Click" /> 
</h:form> 

+0

問題是,你的清單是由模型綁定的,該模型在其getter(?)中是懶惰的。當您提交按鈕時,視圖以及模型重新加載。怎麼樣嘗試一些Ajax按鈕,這應該給你的可能性工作出jsf生命週期(不提交表單)? – gaffcz

回答

4

怎麼樣使用ajax button這應該是JSF生命週期的 「走出去」(未提交表單)?

<a4j:commandButton value="click"> 

或與呼叫從你@ManagedBean和重新呈現選定的組件的一些方法(例如form):

<a4j:commandButton value="click" render=":form" execute="#{bean.some_method}"/> 

UPDATE:(打開一個新的窗口)

<a4j:commandButton value="new" onclick="window.open('new.xhtml','newWindow','width=600, height=600');"/> 
+0

該按鈕將打開過濾器對話框。可能有不同的過濾器設置。僅當過濾器用於刷新數據表時。 – tobe77

+0

您可以嘗試使用'onclick'屬性(請參閱我的更新回答),但我認爲這是一個新問題的材料。無論如何,如果您發現我的答案有用,請不要忘記接受它。 – gaffcz