Para selecionar uma linha por exemplo coloque um botao em uma coluna e ligue ele ao metodo de edicao onde vc consegue pegar a linha corrente usando model.getRowData(),mas explique o que realmente precisa fazer pois fica + facil ajudar
Existem 1000 maneiras de se fazer isso um exemplo:
public Cidade getCidadeFromEditOrDelete() {
IDaoCidade idao = new DaoCidade();
Cidade cidade = (Cidade) idao.findCidade(id);
//ou Cidade cidade =(Cidade) model.getRowdata();
return cidade;
}
/*entaum coloque um botao editar em sua tabela e no action dele chame o metodo editar,
aqui no caso eu tenho uma pagina de edicao que exibe informações da cidade que eu quiser.*/
public String editar() {
Cidade cidade = getCidadeFromEditOrDelete();
setCidade(cidade);
return "editarCidade";
}
flws.
eu não posso somente mandar uma lista com os objetos pq eu to usando hibernate e não sei como usar minhas querys do hibernate para retornar um result set!
Amigo vc ceia um <rich:dataTable e liga ele em um datamodel que retorna uma lista de alguma coisa clientes ,cidades sei lá,daew vc define seus metodos no modelo incluir excluir …blablabla,mas me diga o que vc realmente quer fazer???>
vou ter um radiobutton unico pra cada linha, ai a pessoa seleciona 1 e tem os botoes de editar e excluir, ai eu preencho o objeto e mando pra jsp com os dados preenchidos pra poder tomar a decisão de alterar ou excluir…entendeu?
tenho uma tabela onde exibo os dados,nesta tabela tenho botoes editar/excluir/novo…
ao clicar em editar tenho um metodo no meu bean que faz isso:
public Cidade getCidadeFromEditOrDelete() {
IDaoCidade idao = new DaoCidade();
Cidade cidade = (Cidade) idao.findCidade(id);
// ou Cidade cidade=(Cidade) model.getRowData();
return cidade;
}
public String editar() {
Cidade cidade = getCidadeFromEditOrDelete();
setCidade(cidade);
return "editarCidade";
}
o metodo me retorna editarCidade que me direciona para uma pagina de edicao,mas vc pode fazer a edicao na propria tabela msm aew so depende de vc,espero que ajude.
T+.
não deu muito certo…ele lançou um IllegalArgumentException e ainda deixa eu selecionar todos os radios…mesmo se eu colocar id nos radios, continua com pau…olha o que eu fiz:
nãosei…mas o tabelaCargasModel não funciona…ele não me tras o objeto preenchido, ele só tras o primeiro objeto da lista… e minha idéia era usar o radio button… eu só qro o objeto selecionado no radio button…mas o radio não funciona pq ele deixa eu selecionar todos…
para pegar a linha corrente na tabela use seuModelo.getRowData(); e só isso que é necessario,ou passe um identificador da linha com f:param ou f:setpropertieActionListener na sua tabela.
package com.Lgweb.Tcc.Controller;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import com.Lgweb.Tcc.Dao.DaoEstado;
import com.Lgweb.Tcc.Idao.IDaoEstado;
import com.Lgweb.Tcc.Model.Estado;
import javax.faces.event.ActionEvent;
public class ControlEstado {
private DataModel model;
private Estado estado;
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public ControlEstado() {
}
public Estado findEstado(Integer id) {
IDaoEstado Idao = new DaoEstado();
return (Estado) Idao.findEstado(id);
}
// metodo para criar novo estado no modal!
public void Novo(ActionEvent e) {
estado = new Estado();
setEstado(estado);
}
public String novo() {
estado = new Estado();
return "novoEstado";
}
public Estado getEstado() {
return estado;
}
public void setEstado(Estado estado) {
this.estado = estado;
}
public DataModel getTodos() {
IDaoEstado ldao = new DaoEstado();
model = new ListDataModel(ldao.ListarTodos());
return model;
}
// Modificado para trabalhar com fPropertieActionListener e filterBy
public Estado getEstadoFromEditOrDelete() {
IDaoEstado idao = new DaoEstado();
Estado estado = idao.findEstado(id);
return estado;
}
public String editar() {
Estado estado = getEstadoFromEditOrDelete();
setEstado(estado);
return "editarEstado";
}
public String update() {
IDaoEstado ldao = new DaoEstado();
ldao.atualizar(estado);
return "sucessoEstado";
}
public String excluir() {
IDaoEstado ldao = new DaoEstado();
Estado estado = getEstadoFromEditOrDelete();
ldao.excluir(estado);
getTodos();
return "sucessoDeleteEstado";
}
public String create() {
IDaoEstado ldao = new DaoEstado();
ldao.salvar(estado);
getTodos();
return "sucesso_incEstado";
}
public DataModel getTodosComNome() {
IDaoEstado idao = new DaoEstado();
model = new ListDataModel(idao.ListarTodos());
return model;
}
public javax.faces.model.DataModel getModel() {
return model;
}
public void setModel(javax.faces.model.DataModel model) {
this.model = model;
}
public ControlEstado(Estado estado) {
super();
this.estado = estado;
}
}