Datatable不刷新

问题描述:

来自瑞典的晚上好!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

对不起人!我使用的glassfish服务器没有正确安装。它没有显示日志文件中的所有错误。我做了一个完整的全新IDE设置(新的Eclipse,新的glassfish服务器,thanx BalusC的令人难以置信的教程!!!),我发现了所有的错误。现在它应该像它应该那样工作!

问候 拉尔夫