p:带有复选框的数据表多选。 Rowtoggler触发事件

时间:2013-08-26 19:20:53

标签: jsf jsf-2 primefaces datatable

我在另一个数据表中有一个数据表。嵌套表我需要有一个多选复选框,一个用于触发actionlistener的按钮和一个用于显示行中更多数据的p:rowToggler。 toggler和commandbutton在没有表中的选择列的情况下正常工作,但是当我添加此列时,commandButton不会进入辅助bean,单击时toggler不能正常工作,并且不会调用setSelected。两者都扔NP。我正在使用3.4.2这个功能仅适用于较新版本吗?

  SEVERE: FullAjaxExceptionHandler: An exception occurred during processing JSF ajax request. Error page '/error.xhtml' will be shown.
   java.lang.NullPointerException

   <p:dataTable id="gro" var="g" value="#{requestBean.main.childRequest}" styleClass="veaGrid" 
     paginator="true" rows="1"    paginatorTemplate="{CurrentPageReport}"   > 

 <p:column>
      <p:ajaxStatus >  
        <f:facet name="start">  
            <p:graphicImage value="/resources/images/ajaxloadingbar.gif" />  
        </f:facet>  

        <f:facet name="complete">  
            <h:outputText value="" />  
        </f:facet>  
    </p:ajaxStatus> 
     <p:dataTable id="group" var="g2" value="#{g.groups}"  rowKey="#{g2.group_name}" selection="#{requestBean.selectedGroups}" >

            <p:column selectionMode="multiple" style="width:2%" />            

              <p:column headerText="#{g.systemCd} - Groups" style="width:25%" >  
                    #{g2.group_name}  
             </p:column>  
             <p:column style="width:2%">  
                View Users  <p:rowToggler  />   
              </p:column> 
             <p:rowExpansion>  

                <p:dataTable styleClass="veaGrid" var="g3" value="#{g2.group_members}"  sortOrder="descending" 
                    paginator="true" rows="10"  
                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                    filteredValue="#{requestBean.filteredMembers}">
                    <p:column filterBy="#{g3.first_name}">
                       <h:outputText value="#{g3.first_name}"/>
                    </p:column> 
                    <p:column filterBy="#{g3.last_name}">
                       <h:outputText value="#{g3.last_name}"/>
                    </p:column> 
                    <p:column filterBy="#{g3.signon}">
                      <h:outputText value="#{g3.signon}"/>
                    </p:column> 
               </p:dataTable>
            </p:rowExpansion>   

     </p:dataTable> 
          <center>  
            <p:commandButton id="continue" value="Continue"   actionListener="#{requestBean.saveGroups}"/>
          </center>   
     </p:column>           
 </p:dataTable> 

1 个答案:

答案 0 :(得分:0)

发现问题..我将requestBean.selectedGroups设置为

 ArrayList<Group>

我将属性更改为

      Group[] 

现在一切都恢复了功能。