Bom Dia… Me Ajudem com um Pequeno Problema por favor.
Tenha uma Jtable onde eu Preencho os campos “Data”,“Descricao”,“Valor”… No BD possuo a Tabela com os mesmos campos mas o ID, pois não utilizo ele na JTable.
Quando faço o Update, pego os valores da linha selecionada. Mas como não tenho o ID na tabela, como faço para dar o “where” deste Update?
Provavelmente você não está utilizando um TableModel personalizado, certo?
Implemente o seu TableModel de forma que você possa inserir objetos na JTable, e não campos…
Não importa que você não mostre o código visualmente, o importante é que o código vai estar embutido na lista contida no TableModel…
Lembre-se, uma coisa são os seus dados, e outra é forma que você os representa… Uma coisa independe da outra
douglaskd
não recomendo você fazer da maneira abaixo:
colocar o id na jtable e esconder a coluna…
se pensou em fazer assim, não faça… é gambiarra
samuk1
Bom Dia… Primeiro, eu ultilizo sim TableModel e tenho os objetos em uma list!
Mais não quero fazer gambiarra e manter uma Coluna da JTable oculta…
erico_kl
samuk:
Bom Dia… Primeiro, eu ultilizo sim TableModel e tenho os objetos em uma list!
Mais não quero fazer gambiarra e manter uma Coluna da JTable oculta…
mas então é só popular a sua lista fazendo com que ela venha com o código, e exibir somente o que você quer…
Aí no seu TableModel você poderia ter um método parecido com isso:
public Object getObject(int row) {
return suaLista.get(row);
}
e na sua view identificar a linha clicada e passar para esse método…
Muito Boa Eric, mas tenho duas duvidas.Acho que são bobas, mas vamos lá!
1 - Posso colocar 4 campos na minha Lista e popular apenas 3 na minha JTable?
2 - Se eu tiver que mudar a Ordem de exibição da tabela, a Row passa a ser diferente da minha List?
Obrigado
erico_kl
Pode colocar 10 campos na lista e popular apenas 1, é indiferente…
Depende de como você implementar, neste exemplo que te mostrei a ordem da lista está vinculada à ordem de exibição… O que pode não ser interessante em alguns casos. Mas nada impede que você atualize sua lista quando for alterada a ordem…