Olá Pessoal, boa tarde!
Tenho uma DataTable e, quando vou selecionar alguma linha da minha tabela
não consigo com que está me retorne o valor selecionado, assim, sempre me retornando null
O que há de errado?
Segue o código:
<p:dataTable id="tabelaMovimento" var="item" value="#{movimentoControle.listaMovimento}" rows="9"
selectionMode="single" selection="#{movimentoControle.selectedMovimento}"
paginator="true" paginatorPosition="top" emptyMessage="Nenhum registro encontrado"
dynamic="true" onRowSelected="dlgTeste2.show()"
>
<p:dialog widgetVar="dlgTeste2">
<h:outputText value="Nome do Clinete: "/>
<h:outputText value="#{movimentoControle.selectedMovimento.nomeCliente}"/>
</p:dialog>
<p:column sortBy="#{item.id}" filterBy="#{item.id}">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{item.id}" />
</p:column>
<p:column sortBy="#{item.idCliente}" filterBy="#{item.idCliente}">
<f:facet name="header">
<h:outputText value="ID Cliente" />
</f:facet>
<h:outputText value="#{item.idCliente}" />
</p:column>
<p:column sortBy="#{item.nomeCliente}" filterBy="#{item.nomeCliente}">
<f:facet name="header">
Cliente
</f:facet>
<h:outputText value="#{item.nomeCliente}" />
</p:column>
</p:dataTable>
e o bean:
@ManagedBean
@SessionScoped
public class MovimentoControle {
private DAOMovimento.MovimentoDAO movimentoDao;
private modeloMovimento.Movimento movimento;
private Ficha ficha;
private Pagamento pagamento;
private DadosBancoMovimento dadosBancoMovimento;
private List<ModeloTabelaMovimento> listaMovimento;
private ModeloTabelaMovimento selectedMovimento;
private List<ModeloTabelaFicha> listaFicha;
public MovimentoControle() {
movimentoDao = new DAOMovimento.MovimentoDAO();
movimento = new modeloMovimento.Movimento();
ficha = new Ficha();
pagamento = new Pagamento();
dadosBancoMovimento = new DadosBancoMovimento();
}
public ModeloTabelaMovimento getSelectedMovimento() {
return selectedMovimento;
}
public void setSelectedMovimento(ModeloTabelaMovimento selectedMovimento) {
this.selectedMovimento = selectedMovimento;
}
public DadosBancoMovimento getDadosBancoMovimento() {
return dadosBancoMovimento;
}
public void setDadosBancoMovimento(DadosBancoMovimento dadosBancoMovimento) {
this.dadosBancoMovimento = dadosBancoMovimento;
}
public Ficha getFicha() {
return ficha;
}
public void setFicha(Ficha ficha) {
this.ficha = ficha;
}
public Movimento getMovimento() {
return movimento;
}
public void setM(Movimento movimento) {
this.movimento = movimento;
}
public DAOMovimento.MovimentoDAO getmovimentoDao() {
return movimentoDao;
}
public void setmovimentoDao(DAOMovimento.MovimentoDAO movimentoDao) {
this.movimentoDao = movimentoDao;
}
public Pagamento getPagamento() {
return pagamento;
}
public void setP(Pagamento pagamento) {
this.pagamento = pagamento;
}
public List<ModeloTabelaMovimento> getListaMovimento() throws SQLException, ClassNotFoundException {
if (listaMovimento == null) {
listaMovimento = movimentoDao.getMovimentosCadastrados();
}
return listaMovimento;
}
public List<ModeloTabelaFicha> getListaFicha() throws SQLException, ClassNotFoundException {
if (listaFicha == null) {
listaFicha = movimentoDao.getFichas();
}
return listaFicha;
}
public void exclui() throws SQLException, ClassNotFoundException {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
System.out.println("Busca: " + req.getParameter("codigo"));
movimentoDao.exclui(req.getParameter("codigo"));
}
}