2013-08-26 5 views
1

У меня есть данные внутри другого типа данных. Вложенной таблице мне нужно иметь флажки с множественным выбором, кнопку, чтобы запустить actionlistener и p: rowToggler, чтобы показать больше данных в строке. Команда toggler и commandbutton отлично работает без столбца выбора в таблице, но когда я добавляю этот столбец, commandButton не переходит к бэк-файлу базы данных, toggler при нажатии не работает должным образом, а setSelected не вызывается. Оба бросают NP. Я использую 3.4.2, эта функция доступна только для новых версий?p: datatable multiple select with checkboxes. Rowtoggler запускает событие

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> 

ответ

0

Найденный проблема .. я в requestBean.selectedGroups установлен

ArrayList<Group> 

Я изменил свойство

 Group[] 

и теперь все снова функционирует.