2016-08-16 4 views
2

Я только начал использовать BootsFaces из-за требования клиента, поэтому несите меня.b: commandButton внутри dataTable не будет срабатывать метод действия

Вот мой XHTML:

<h:form id="form" prependId="false"> 

    <b:dataTable id="dtEmpresas" value="#{recController.empresas}" var="e" searching="false" striped="true" 
      styleClass="tabela" customLangUrl="../resources/js/lang-pt-br.json" paginated="false" pageLength="6" > 

     <b:dataTableColumn header-style-class="hidden" styleClass="col-md-4"> 
      <b:selectOneMenu id="congenere" value="#{e.congenere.id}"> 
      <!-- required="true" requiredMessage="Congenere é obrigatório"> --> 
       <f:selectItem noSelectionOption="true" itemLabel="[Selecione...]" 
        itemValue="#{null}" /> 
       <f:selectItems value="#{recController.congeneres}" var="c" 
        itemLabel="#{c.nome}" itemValue="#{c.id}" /> 
      </b:selectOneMenu> 
     </b:dataTableColumn> 
     <b:dataTableColumn styleClass="col-md-4" header-style-class="hidden"> 
      <b:inputText id="nomeEmpresa" value="#{e.nomeEmpresa}" size="50" disabled="#{!e.ehOutros()}" /> 
     </b:dataTableColumn> 
     <b:dataTableColumn styleClass="col-md-4" header-style-class="hidden"> 
      <b:row> 
       <b:column styleClass="col-md-10"> 
        <b:inputText value="#{e.cnpj}" size="50" required="false" 
         validatorMessage="CNPJ invalido 21" placeholder="CNPJ Recolhimento"> 
         <f:validator validatorId="cnpjValidador" /> 
        </b:inputText> 
       </b:column> 
       <ui:debug hotkey="j" /> 
       <b:commandButton value=" - " action="#{recController.removeItem(e)}" update="dtEmpresas" /> 
       <b:commandButton id="btAdd" value=" + " action="#{recController.addItem()}" 
        update="dtEmpresas" process="dtEmpresas" /> 
      </b:row> 
     </b:dataTableColumn> 

    </b:dataTable> 

Ни одна из этих кнопок не стрелять их метод используется в резервном боб. Но если я перехожу за пределы dataTable, они работают нормально.

Вот обратно боб, работающий на WildFly 8 с Deltaspike:

@ViewScoped 
@ManagedBean 
public class RecController implements Serializable{ 

private static final long serialVersionUID = 1L; 

private List<EmpresaRecolheInss> empresas = new ArrayList<>(); 

@Inject 
private BaseDAO dao; 

@PostConstruct 
public void init(){ 
    congeneres = dao.listar(Congenere.class); 
    empresas.add(new EmpresaRecolheInss()); 
} 

public void salvar(){ 
    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Salvo", null); 
    FacesContext.getCurrentInstance().addMessage(null, message); 
} 

public void addItem(){ 
    empresas.add(new EmpresaRecolheInss()); 
} 

public void removeItem(Empresa eri){ 
    empresas.remove(eri); 
} 

Любые идеи?

ответ

0

Это ошибка BootsFaces 0.9.1 datatable Я отремонтировал прошлые выходные. Также см. https://github.com/TheCoder4eu/BootsFaces-OSP/issues/486. Ошибка будет решена с помощью BootsFaces 1.0. До тех пор вы можете использовать моментальный снимок разработчика BootsFaces-1.0.0 на Maven Central, если вы знаете, что он не предназначен для использования в производстве. См. https://github.com/TheCoder4eu/BootsFaces-OSP/issues/369 о том, как получить версию предварительного просмотра.

Смежные вопросы