Atualizar Dados de um Binding entre 3 JTables

0 respostas
Fabio_Baptista

E ai pessoal,

ME DESCULPEM, acabei me adiantando e relatei meu problema de maneira errada… fiz algumas alterações, se alguem puder ajudar… valeu!!

Estou tendo problemas para atualizar o conteúdo de uma JTable que está vinculada com o item selecionado em outra JTable.
A vinculação ocorre legal. o problema é quando tenho que inserir um novo registro na List que popula a segunda table, ela não está atualizando automaticamente, como deveria.
Segue o codigo da ligação:

org.jdesktop.beansbinding.ELProperty eLProperty = org.jdesktop.beansbinding.ELProperty.create("${selectedElement.consultaCollection}");
        jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, eLProperty, consultaMasterTable);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${dataconsulta}"));
        columnBinding.setColumnName("Dataconsulta");
        columnBinding.setColumnClass(java.util.Date.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idconsulta}"));
        columnBinding.setColumnName("Idconsulta");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idmedico}"));
        columnBinding.setColumnName("Idmedico");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idpaciente}"));
        columnBinding.setColumnName("Idpaciente");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${observacao}"));
        columnBinding.setColumnName("Observacao");
        columnBinding.setColumnClass(String.class);
        bindingGroup.addBinding(jTableBinding);
        jTableBinding.bind();
        jScrollPane3.setViewportView(consultaMasterTable);
eLProperty = org.jdesktop.beansbinding.ELProperty.create("${selectedElement.exameConsultaCollection}");
        jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, consultaMasterTable, eLProperty, resultadoExameJtable);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${datarealizacao}"));
        columnBinding.setColumnName("Datal");
        columnBinding.setColumnClass(java.util.Date.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${exame}"));
        columnBinding.setColumnName("Exame");
        columnBinding.setColumnClass(as.com.sisclinica.model.Exame.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${observacao}"));
        columnBinding.setColumnName("Observação");
        columnBinding.setColumnClass(String.class);
        bindingGroup.addBinding(jTableBinding);
        jTableBinding.bind();
        jScrollPane10.setViewportView(resultadoExameJtable);

Adiciono um exame na collection em Paciente.Consulta mas o Model não atualiza, alguem pode me dar um palpite…

masterTable = lista de Pacientes
consultaMasterTable = Lista de Consultas
resultadoExameConsulta = lista de exames por consulta

O problema está na atualização do terceiro grau do Binding. Quando incluo um novo exame…

Até tentei executar um processo de deselecionar e deselcionar novamente a consulta para recarregar a Table de exames, até funcionaou… mas achei meio estranho essa solução… será que nao tem uma maneira melhor de resolver…

Abraço

Criado 10 de março de 2009
Respostas 0
Participantes 1