Bom dia!
Estou tentando incluir a opção de edição em uma subtable, porém não está funcionando. Alguém poderia, por gentileza me ajudar?
Segue o código:
<p:dataTable id= "entregaveisDataTable"
var=“execucao"
value=”#{controlerProjEntregavel.tarefas_projeto}"
editable="true"
style=“margin-bottom:20px”>
<p:ajax event="rowEdit" listener="#{controlerProjEntregavel.onRowEdit}" update=":form:msgs"/>
<p:ajax event="rowEditCancel" listener="#{controlerProjEntregavel.onRowCancel}" update=":form:msgs"/>
<p:columnGroup type="header">
<p:row>
<p:column style="width:25px; font-size: 12px;" headerText="Item"/>
<p:column style="width:100px; font-size: 12px;" headerText="Atividade"/>
<p:column style="width:70px; font-size: 12px;" headerText="Data de início prevista"/>
<p:column style="width:70px; font-size: 12px;" headerText="Data de fim prevista"/>
<p:column style="width:70px; font-size: 12px;" headerText="Data de início real"/>
<p:column style="width:70px; font-size: 12px;" headerText="Data de fim real"/>
<p:column style="width:70px; font-size: 12px;" headerText="Medido"/>
<p:column style="width:70px; font-size: 12px;" headerText="Ponderado"/>
<p:column style="width:70px; font-size: 12px;" headerText="Editar" />
</p:row>
</p:columnGroup>
<p:subTable var="listaEXE"
value="#{execucao.lista}"
editable="true"
style="margin-bottom:20px"
selection="#{controlerProjEntregavel.tarefaSelecionada}"
selectionMode="single"
rowKey="{listaEXE.item}">
<f:facet name="header">
<h:outputText value="#{execucao.name}" />
</f:facet>
<p:column style="font-size: 12px; text-align: center;">
<h:outputText value="#{listaEXE.item}" />
</p:column>
<p:column style="font-size: 12px;">
<h:outputText value="#{listaEXE.tarefaNome}" />
</p:column>
<p:column style="font-size: 12px;">
<h:outputText value="#{listaEXE.tarefaInicio}" >
<f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>
</p:column>
<p:column style="font-size: 12px;">
<h:outputText value="#{listaEXE.tarefaFim}" >
<f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>
</p:column>
<p:column style="font-size: 12px;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{listaEXE.tarefaInicioReal}">
<f:convertDateTime pattern="MM/dd/yyyy" />
</h:outputText>
</f:facet>
<f:facet name="input">
<p:calendar id="inicioReal" value="#{listaEXE.tarefaInicioReal}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column style="font-size: 12px;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{listaEXE.tarefaFimReal}">
<f:convertDateTime pattern="MM/dd/yyyy" />
</h:outputText>
</f:facet>
<f:facet name="input">
<p:calendar id="fimReal" value="#{listaEXE.tarefaFimReal}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column style="font-size: 12px;">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{listaEXE.tarefaMedido}" /></f:facet>
<f:facet name="input"><p:inputText id="medido" value="#{listaEXE.tarefaMedido}" style="width:100%"/></f:facet>
</p:cellEditor>
</p:column>
<p:column style="font-size: 12px;">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{listaEXE.tarefaPonderado}" /></f:facet>
<f:facet name="input"><p:inputText id="ponderado" value="#{listaEXE.tarefaPonderado}" style="width:100%"/></f:facet>
</p:cellEditor>
</p:column>
<p:column style="width:32px">
<p:rowEditor />
</p:column>
</p:subTable>
</p:dataTable>
Na minha main tenho os métodos onRowEdit e onRowCancel.
public void onRowEdit(RowEditEvent event)
{
FacesMessage msg = new FacesMessage(“Edição concluída”, ((Projetos) event1.getObject()).toString());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onRowCancel(RowEditEvent event)
{
FacesMessage msg = new FacesMessage(“Edit Cancelled”, ((Projetos) event.getObject()).toString());
FacesContext.getCurrentInstance().addMessage(null, msg);
}