Então na Parte de Busca aki do Sistema, fiz assim uma table q mostra tudo q foi buscado na barra d busca…
Blz ai pra fazer update eu resolvi fazer o seguinte o usuario seleciona uma Linha e Clica em Editar,
Ai a ideia era Abrir um Formzinho Como os campos ja preenchidos com os dados da table la do otro Form…
Tipo da Pra fazer? Alguem poderia me dar uma direção q to meio Perdido e n sei como fazer isso kkkk…
Falae cara,
eu fiz algo semelhante, mas eu abria um form com um jtable para selecionar os registros e depois eu atualizava o form principal para o registro selecionado para edição… (entendeu?)
Não sei se é a forma mais “correta” pra resolver isso, mas eu sempre passava para o meu form de busca o resultset que carregava os clientes e o form principal (que tem todos os jtextfields do cadastro).
No form principal eu tenho um método que mostra o registro de acordo com o que esta sendo apontado pelo resultset.
No form de seleção, quando clica em uma linha e depois no botão OK eu percorro o resultset passado até que ele encontre no resultset o registro que ele selecionou (para isso eu busco sempre por uma coluna fixa “CNPJ”) depois disso eu chamo o metodo para atualizar os dados do form principal.
segue trecho do código que faz isso.
private void BtOkActionPerformed(java.awt.event.ActionEvent evt) {
try
{
con.first(); //seta o resultset passado para o primeiro registro :roll:
int row = JTBuscaCliente.getSelectedRow(); //quarda a linha selecionada
int col = 2; //sempre busca pela coluna CNPJ
if (row == -1){ //se retorna -1 nao selecionou nenhum registro
new Mensagens().msgInfo("Selecione um registro");
}else{
//busca sempre pela coluna 2 (cpf_cnpj do banco)
String aux = (String)JTBuscaCliente.getValueAt(row, col);
while (!con.getString("CPF_CNPJ").equalsIgnoreCase(aux)){
con.next();
}
frame.mostraRegistros(); //Frame é o form passado para a classe que faz a busca e seleção
frame.setVisible(true);
dispose();
}
}
catch(SQLException ex)
{
new Mensagens().msgErro("Erro interno: ");
}
}
… Bom … é isso… meio complicado (principalmente a explicação hehe) mas funciona.
Boa sorte ae!
colored
N entendi Nada kkkkkkkkkkkkkkkk…
Tipo Meu Problema eh o Seguinte, Eu tenho esse Form Com essa Table q mostra todo os dados,
eu precisava saber c tem como eu pegar os valores da table e conseguir jogar em textfields em otro form…
Esse q eh meu Problema.
Andre_Brito
Você pode fazer um frame interno. Eu acredito que ficaria mais fácil. Ou ainda, você pode manter uma referência para o form que será aberto e enviar por parâmetros para um método.
Ou (acho que não faz muito sentido. Na verdade, não faz sentido) você pode manter as variáveis static e utilizar no outro form.
Eu ficaria com uma das duas primeiras.
I
israel_britto
Oi, Tem.
quando vc carrega o jtable vc usa um resultset do BD certo?
quando vc seleciona um registro na jtable vc deve percorrer o resultset até chegar no registro que foi selecionado no jtable, depois basta passar para o proximo form a ser aberto o resultset como paramentro.
dentro do form que foi aberto vc cria um metodo que pega os valores do resultset e seta eles nos jtext… blz?
para setar os valores nos jtextfields…:
Mas Ai eu teria q executar o metodo dakele Form, meu problema eu n sei c eu conseguiria enchergar um componente eu estando em outro form.
I
israel_britto
o metodo para preencher os campos?
se vc usa banco de dados e passar o resultset para o novo form basta vc usar como eu expliquei…
Segue abaixo como eu uso no meu app.
//metodo para mostrar os registros que estao posicionados no resultsetpublicvoidmostraRegistros(){try{CpNome.setText(rs.getString("Nome"));CpEndereco.setText(rs.getString("Endereco"));CpCpfCnpj.setText(rs.getString("CPF_CNPJ"));CpCidade.setText(rs.getString("CIDADE"));}catch(SQLExceptionex){newMensagens().msgErro("Não foi possível mostrar registros: erro:0025");}}
para chamar o metodo quando abre o form…
mostraRegistros();
T
thiroli
Boa tarde amigos…
Segui direitinho os passos acima mas encontro esse erro de saida:
if (theQueue.peekEvent() != null ||
!SunToolkit.isPostEventQueueEmpty()) {
theQueue.initDispatchThread();
}
AWTAutoShutdown.getInstance().notifyThreadFree(this);
}
}
}
Alguem se habilita a me ajudar?