2013-06-04 101 views
0

來自瑞典的晚上好!Datatable不刷新

我嘗試獲取primefaces數據表來刷新。我嘗試了各種提示和解決方案,但沒有任何工作。 該按鈕在數據庫中觸發搜索,如果手動刷新paga或者如果使用表格排序功能,則會顯示結果。 意味着支持bean中的代碼工作。但單擊該按鈕後沒有直接自動刷新。 Bean範圍是Session。

這裏是頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:p="http://primefaces.org/ui"> 
    <h:head> 
    </h:head> 
<h:body> 


<ui:composition template="/templates/BasicTemplate.xhtml"> 

<ui:define name="content"> 
<h:form id="src_res"> 
<h2>Sök klass,undervisningsgrupp eller individ</h2>      

      <b>Sökord</b>: &nbsp;<h:inputText id="sw" value="#{smsb.searchword}"/> 
      <p:outputLabel value="Lärare"></p:outputLabel> 
      <h:selectOneListbox size="1" id="teacher" value="#{smsb.searchteacher}" > 
      <f:selectItems value="#{smsb.teachers}"/> 
      </h:selectOneListbox> 
      <p:commandButton action="#{smsb.searchgrp_user}" value="Sök!" update="src_list"/> 

<p:dataTable id="src_list" value="#{smsb.searchresult}" var="obj" >  

        <p:column width="20%" sortBy="#{obj.groupname}"> 
         <f:facet name="header" > 
          <h:outputText value="Beteckning"/> 
         </f:facet>  
         <h:outputText value="#{obj.groupname}"/> 
        </p:column> 
        <p:column width="10%"> 
         <f:facet name="header" > 
          <h:outputText value="typ"/> 
         </f:facet>  
         <h:outputText value="#{obj.klass}"/> 
        </p:column> 
        <p:column width="10%" sortBy="#{obj.teacher}"> 
         <f:facet name="header" > 
          <h:outputText value="lärare"/> 
         </f:facet>  
         <h:outputText value="#{obj.teacher}"/> 
        </p:column> 
       </p:dataTable> 
       </h:form> 
</ui:define> 
</ui:composition> 
</h:body> 
</html> 

任何幫助或提示嗎?

至於 拉爾夫

編輯

您好,感謝名單的提供幫助!

正如你猜到了信息搜索結果的列表,並吸氣劑是由

List<sbasUserList> searchresult;  

public List<sbasUserList> getSearchresult() { 
    return searchresult; 
} 

search_grp定義爲支持bean的方法:

public String searchgrp_user(){ 



    //FacesContext context = FacesContext.getCurrentInstance(); 

    ObjectContainer db = this.connBD("sms"); 
    ObjectSet<sbasUserList> res; 

    this.searchresult = new ArrayList<sbasUserList>() ; 

    Query query=db.query(); 
    query.constrain(sbasUserList.class); 
    query.descend("groupname").constrain(this.searchword).like(); 
     query.descend("type").constrain('P').or(query.descend("type").constrain('M')); 
    query.descend("teacher").constrain(searchteacher).contains();  
    res = query.execute(); 
    this.searchresult.addAll(res); 
    System.out.println(this.searchresult.size()); 
    db.close(); 
    return ""; 
} 

表充滿了正確的DAT如果我手動更新瀏覽器。 (F5),但肯定希望自動完成此操作。

+0

我是正確的, 「SOK!」是搜索按鈕?什麼是'smsb.searchresult',一個動作還是一個列表?如果列出,你確定在調用'smsb.searchgrp_user'後該值發生了變化嗎?如果這是一個行動,它在做什麼? – user1983983

+0

嘿拉爾夫你可以顯示豆代碼來嗎? – Damian

+0

@ user1983983:我用一些相關的代碼更新了我的問題。 – lilleGauss

回答

0

對不起人!我使用的glassfish服務器沒有正確安裝。它沒有顯示日誌文件中的所有錯誤。我做了一個完整的全新IDE設置(新的Eclipse,新的glassfish服務器,thanx BalusC的令人難以置信的教程!!!),我發現了所有的錯誤。現在它應該像它應該那樣工作!

問候 拉爾夫