Pesquisar na Comunidade
Mostrando resultados para as tags ''editar''.
Encontrado 6 registros
-
Olá pessoal, tenho um form que carrega a jtable certinho com os dados bancos. Sem utilizar o filtro na lista consigo realizar as operações de excluir e atualizar normalmente. Porém ao acionar o evento KeyReleased no jtextField filtrando a tabela (Filtra corretamente) acontece a seguinte situação: Editar: ao selecionar a linha desejado para editar o campo preenche uma jtextField e ao alterar a informação ao invés de alterar a linha selecionada é criado uma outra linha com a atualização. Excluir: ao selecionar a linha desejado não exclui. Isso acontece apenas com o filtro ativado! Segui minhas classes relevantes para analise: Meu Formulario package View.Forms; import Controller.ArroladoPorController; import java.awt.Color; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JTextField; /** * * @author Usuario */ public final class FrmArroladoPor extends javax.swing.JDialog { private final ArroladoPorController controller; private String estado; /** * Creates new form frmArroladoPor * * @param owner * @param modal * @throws java.sql.SQLException */ public FrmArroladoPor(java.awt.Frame owner, boolean modal) throws SQLException { super(owner, modal); initComponents(); controller = new ArroladoPorController(this); startScreen(); } private void initComponents() { (...) private void btnNovoActionPerformed(java.awt.event.ActionEvent evt) { estado = "salvar"; controller.setarEstadoComponentes(4); controller.limparCampos(); } private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) { try { controller.inserir(estado); controller.setarEstadoComponentes(1); } catch (SQLException ex) { Logger.getLogger(FrmArroladoPor.class.getName()).log(Level.SEVERE, null, ex); } controller.limparCampos(); } private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) { try { controller.excluir(); controller.limparCampos(); controller.setarEstadoComponentes(1); } catch (SQLException ex) { Logger.getLogger(FrmArroladoPor.class.getName()).log(Level.SEVERE, null, ex); } } private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) { controller.setarEstadoComponentes(6); estado = "editar"; } private void btnSelecionarActionPerformed(java.awt.event.ActionEvent evt) { } private void txtPesquisarKeyReleased(java.awt.event.KeyEvent evt) { // estado = "editar"; controller.filtrar(); controller.setarEstadoComponentes(2); } private void tabelaKeyPressed(java.awt.event.KeyEvent evt) { estado = "editar"; controller.selecionarLinha(); controller.setarEstadoComponentes(3); } private void txtDescricaoKeyReleased(java.awt.event.KeyEvent evt) { getTxtDescricao().setBackground(Color.WHITE); } public void startScreen() throws SQLException { controller.iniciaTela(); controller.carregaTabela(); controller.setarEstadoComponentes(1); } public JButton getBtnEditar() { return btnEditar; } public void setBtnEditar(JButton btnEditar) { this.btnEditar = btnEditar; } public JButton getBtnExcluir() { return btnExcluir; } public void setBtnExcluir(JButton btnExcluir) { this.btnExcluir = btnExcluir; } public JButton getBtnNovo() { return btnNovo; } public void setBtnNovo(JButton btnNovo) { this.btnNovo = btnNovo; } public JButton getBtnSalvar() { return btnSalvar; } public void setBtnSalvar(JButton btnSalvar) { this.btnSalvar = btnSalvar; } public JButton getBtnSelecionar() { return btnSelecionar; } public void setBtnSelecionar(JButton btnSelecionar) { this.btnSelecionar = btnSelecionar; } public JTable getTabela() { return tabela; } public void setTabela(JTable tabela) { this.tabela = tabela; } public JTextField getTxtPesquisar() { return txtPesquisar; } public void setTxtPesquisar(JTextField txtPesquisar) { this.txtPesquisar = txtPesquisar; } public JPanel getPnlCadastro() { return pnlCadastro; } public void setPnlCadastro(JPanel pnlCadastro) { this.pnlCadastro = pnlCadastro; } public JPanel getPnlPesquisarPor() { return pnlPesquisarPor; } public void setPnlPesquisarPor(JPanel pnlPesquisarPor) { this.pnlPesquisarPor = pnlPesquisarPor; } public JPanel getPnlTabela() { return pnlTabela; } public void setPnlTabela(JPanel pnlTabela) { this.pnlTabela = pnlTabela; } public JTextField getTxtDescricao() { return txtDescricao; } public void setTxtDescricao(JTextField txtDescricao) { this.txtDescricao = txtDescricao; } // Variables declaration - do not modify private javax.swing.JButton btnEditar; private javax.swing.JButton btnExcluir; private javax.swing.JButton btnNovo; private javax.swing.JButton btnSalvar; private javax.swing.JButton btnSelecionar; private javax.swing.JLabel jLabel1; private javax.swing.JPanel pnlAções; private javax.swing.JPanel pnlCadastro; private javax.swing.JPanel pnlPesquisarPor; private javax.swing.JPanel pnlTabela; private javax.swing.JScrollPane scrPane; private javax.swing.JTable tabela; private javax.swing.JTextField txtDescricao; private javax.swing.JTextField txtPesquisar; MEU CONTROLLER package Controller; import Controller.Helper.ArroladoPorHelper; import Controller.Helper.HelperForHall; import View.Forms.FrmArroladoPor; import java.sql.SQLException; /** * * @author Usuario */ public class ArroladoPorController { private final FrmArroladoPor view; private final ArroladoPorHelper helper; private final HelperForHall helperForHall; public ArroladoPorController(FrmArroladoPor view) throws SQLException { this.view = view; this.helper = new ArroladoPorHelper(view); this.helperForHall = new HelperForHall(); } public void limparCampos() { helperForHall.limpaCampos(view.getPnlPesquisarPor()); helperForHall.limpaCampos(view.getPnlCadastro()); } public void iniciaTela() { helperForHall.iniciaTela(this.view, "Pesquisa e Cadastra Arrolado Por"); } public void carregaTabela() throws SQLException { helper.carregaTabelaBuscandoNoBanco(); } public void inserir(String estado) throws SQLException { if ("salvar".equals(estado)) { helper.inserir(); } if ("editar".equals(estado)) { helper.atualizar(); } } public void excluir() throws SQLException { helper.excluir(); } public void filtrar() { helper.filtrarTabela(); } public void selecionarLinha() { helper.selecionarLinha(view.getTabela()); } public void setarEstadoComponentes(int estado) { helper.setarEstadoComponentes(estado); } } HELPER DO CONTROLLER package Controller.Helper; import Model.ArroladoPor; import Dao.ArroladoPorDao; import Model.Table.MeuRenderer; import Model.Table.TableArroladoPor; import View.Forms.FrmArroladoPor; import java.awt.Color; import java.sql.SQLException; import java.util.ArrayList; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.RowFilter; import javax.swing.event.ListSelectionEvent; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; /** * * @author Usuario */ public class ArroladoPorHelper { private FrmArroladoPor view; private TableArroladoPor modeloTabela; private HelperForHall helperForHall; private ArroladoPorDao dao; private ArroladoPor objClasse; public ArroladoPorHelper(FrmArroladoPor view) throws SQLException { this.dao = new ArroladoPorDao(); this.view = view; this.helperForHall = new HelperForHall(); } public ArroladoPorHelper() { } public ArroladoPor instanciaObjClasseArroladoPorComId() { String descricao = view.getTxtDescricao().getText().toUpperCase().trim(); int id = Integer.parseInt((view.getTabela().getValueAt(view.getTabela().getSelectedRow(), 0)).toString()); objClasse = new ArroladoPor(id, descricao); return objClasse; } public ArroladoPor instanciaObjClasseArroladoPorSemId() { String descricao = view.getTxtDescricao().getText().toUpperCase().trim(); objClasse = new ArroladoPor(descricao); return objClasse; } public void inserir() throws SQLException {//pronto if (view.getTxtDescricao().getText().trim().equalsIgnoreCase("")) { JOptionPane.showMessageDialog(null, "O campo descrição não pode ficar vazio!", "Validação ", JOptionPane.ERROR_MESSAGE); view.getTxtDescricao().setBackground(Color.LIGHT_GRAY); } else { if (dao.VerificacaoSalvar(instanciaObjClasseArroladoPorSemId()) != true) { dao.salvar(instanciaObjClasseArroladoPorSemId());//SALVA NO BANCO modeloTabela.addRow(objClasse); helperForHall.limpaCampos(view.getPnlPesquisarPor()); javax.swing.JOptionPane.showMessageDialog(null, "Novo registro armazenado com sucesso!", "Cadastro", JOptionPane.INFORMATION_MESSAGE); } else { javax.swing.JOptionPane.showMessageDialog(null, "Não foi possivel salvar, registro já existente!", "Verificação ao Salvar ", JOptionPane.ERROR_MESSAGE); } } } public void atualizar() throws SQLException {//pronto if (view.getTabela().getSelectedRow() != -1) { if (dao.verificaAlterar(instanciaObjClasseArroladoPorComId()) == true) { JOptionPane.showMessageDialog(null, "Não foi possivel editar, registro já existente!", "Verificação ao Editar", JOptionPane.ERROR_MESSAGE); } else { dao.alterar(instanciaObjClasseArroladoPorComId()); helperForHall.limpaCampos(view.getPnlPesquisarPor()); //ATUALIZA A TABELA modeloTabela.setValueAt(instanciaObjClasseArroladoPorComId(), view.getTabela().getSelectedRow(), 0); modeloTabela.setValueAt(instanciaObjClasseArroladoPorComId(), view.getTabela().getSelectedRow(), 1); modeloTabela.fireTableDataChanged(); JOptionPane.showMessageDialog(null, "Alteracão realizado com sucesso!", "Alteração", JOptionPane.INFORMATION_MESSAGE); } } } public void excluir() throws SQLException { String simNao[] = {"Sim", "não"}; int exclui = JOptionPane.showOptionDialog(null, "Confirma exclusão?", "Excluindo...", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, simNao, simNao[1]); if (exclui == 0) { if (view.getTabela().getSelectedRow() != -1) { if (dao.verificaExcluir(instanciaObjClasseArroladoPorComId()) != true) { //NÃO EXISTE EM OUTRA TABELA PODE EXCLUIR dao.excluir(instanciaObjClasseArroladoPorComId()); modeloTabela.removeRow(view.getTabela().getSelectedRow()); JOptionPane.showMessageDialog(null, "Exclusão realizado com sucesso!", "Exclusão", JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null, "Registro existente em outra tabela!", "Verificação ", javax.swing.JOptionPane.ERROR_MESSAGE); } } } } public void carregaTabelaBuscandoNoBanco() throws SQLException { ArrayList lista = (ArrayList) dao.selectAll(); modeloTabela = new TableArroladoPor(lista); configuraTabela(modeloTabela); } private void configuraTabela(TableArroladoPor model) { view.getTabela().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ListSelectionModel lsm = view.getTabela().getSelectionModel(); lsm.addListSelectionListener((ListSelectionEvent e) -> { if (!e.getValueIsAdjusting()) { selecionarLinha(view.getTabela()); } }); javax.swing.table.TableCellRenderer renderer = new MeuRenderer(); view.getTabela().setDefaultRenderer(Object.class, renderer); TableRowSorter<TableModel> sorter = new TableRowSorter<>(modeloTabela); view.getTabela().setRowSorter(sorter); view.getTabela().setModel(model); view.getTabela().getTableHeader().setReorderingAllowed(false); view.getTabela().getColumnModel().getColumn(0).setMinWidth(0); view.getTabela().getColumnModel().getColumn(0).setMaxWidth(0); } public void filtrarTabela() { TableRowSorter<TableModel> sorter = new TableRowSorter<>(modeloTabela); view.getTabela().setRowSorter(sorter); String text = view.getTxtPesquisar().getText().toUpperCase(); if (text.length() == 0) { sorter.setRowFilter(null); } else { sorter.setRowFilter(RowFilter.regexFilter(text)); } } public void selecionarLinha(JTable tabela) { if (tabela.getSelectedRow() != -1) { int lin = view.getTabela().getSelectedRow(); String descricao = (view.getTabela().getValueAt(lin, 1).toString().trim()); view.getTxtDescricao().setText(descricao); setarEstadoComponentes(3); } else { view.getTxtDescricao().setText(""); } } // public void cancelarOperacao() throws SQLException { // FrmArroladoPor frmArroladoPor; // frmArroladoPor = new FrmArroladoPor(null, true); // frmArroladoPor.startScreen(); // helperForHall.fieldClean(view.getPnlCadastro()); // helperForHall.fieldClean(view.getPnlPesquisarPor()); // view.getTxtDescricao().setBackground(Color.white); // preencheTabela(); // setarEstadoComponentes(1); // } public void setarEstadoComponentes(int estado) { switch (estado) { //inicializa o formulario //ao excluir case 1: view.getTxtPesquisar().grabFocus(); view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(false); view.getTxtDescricao().setEnabled(false); view.getBtnNovo().setEnabled(true); view.getBtnSalvar().setEnabled(false); view.getBtnEditar().setEnabled(false); view.getBtnExcluir().setEnabled(false); view.getBtnSelecionar().setEnabled(false); break; //ao filtrar case 2: view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(true); view.getTxtDescricao().setEnabled(false); view.getBtnNovo().setEnabled(true); view.getBtnSalvar().setEnabled(false); view.getBtnEditar().setEnabled(false); view.getBtnExcluir().setEnabled(false); view.getBtnSelecionar().setEnabled(false); break; //ao selecionar linha tabela case 3: view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(true); view.getTxtDescricao().setEnabled(false); view.getBtnNovo().setEnabled(false); view.getBtnSalvar().setEnabled(false); view.getBtnEditar().setEnabled(true); view.getBtnExcluir().setEnabled(true); view.getBtnSelecionar().setEnabled(false); break; //ao clicar botão novo case 4: view.getTxtDescricao().grabFocus(); view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(false); view.getTxtDescricao().setEnabled(true); view.getBtnNovo().setEnabled(false); view.getBtnSalvar().setEnabled(true); view.getBtnEditar().setEnabled(false); view.getBtnExcluir().setEnabled(false); view.getBtnSelecionar().setEnabled(false); break; //ao apertar Salvar case 5: view.getTxtDescricao().grabFocus(); view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(false); view.getTxtDescricao().setEnabled(true); view.getBtnNovo().setEnabled(false); view.getBtnSalvar().setEnabled(true); view.getBtnEditar().setEnabled(false); view.getBtnExcluir().setEnabled(false); view.getBtnSelecionar().setEnabled(false); break; //ao apertar Editar case 6: view.getTxtDescricao().grabFocus(); view.getTxtPesquisar().setEnabled(true); view.getTabela().setEnabled(true); view.getTxtDescricao().setEnabled(true); view.getBtnNovo().setEnabled(false); view.getBtnSalvar().setEnabled(true); view.getBtnEditar().setEnabled(false); view.getBtnExcluir().setEnabled(false); view.getBtnSelecionar().setEnabled(false); break; default: break; } } } MODELA DA TABELA DA CLASSE package Model.Table; import Model.ArroladoPor; import java.util.ArrayList; import java.util.Collections; /** * * @author Usuario */ public class TableArroladoPor extends TableModelPadrao { public TableArroladoPor(ArrayList linhas) { super(linhas); } @Override public Object getValueAt(int rowIndex, int columnIndex) { ArroladoPor a = (ArroladoPor) linhas.get(rowIndex); switch (columnIndex) { case 0: return a.getIdArrolado(); case 1: return a.getDescricao(); default: // Se o índice da coluna não for válido, lança um // IndexOutOfBoundsException (Exceção de índice fora dos limites). // Não foi necessário verificar se o índice da linha é inválido, // pois o próprio ArrayList lança a exceção caso seja inválido. throw new IndexOutOfBoundsException("Numero de colunas no TableArroladoPor" + " não é compativel com dados do banco"); } } @Override protected String[] criarColunas() { return new String[]{"Id", "Descricão"}; } @Override protected boolean[] colEditavel() { return new boolean[]{false, false}; } @Override public void addRow(Object o) { this.linhas.add(o); Collections.sort (this.linhas); this.fireTableDataChanged(); } @Override public void removeRow(int linha) { this.linhas.remove(linha); this.fireTableRowsDeleted(linha, linha); this.fireTableDataChanged(); } @Override public void setValueAt(Object obj, int linha, int coluna) { ArroladoPor a = (ArroladoPor) linhas.get(linha); switch (coluna) { // case 0: // Primeira coluna é o codigo. // a.setIdArrolado(Integer.parseInt((String) obj)); // break; case 1: // Segunda coluna é o descricao. a.setDescricao(obj.toString()); break; } this.fireTableCellUpdated(linha, coluna); } @Override public int getRowCount() { return linhas.size(); } @Override public int getColumnCount() { return colunas.length; } }
-
BOA TARDE PROGRAMADORES, Sou iniciante no ramo de vba, uso sorrateiramente para suprir algumas necessidades que tenho, estou com um problema, estou elaborando um sisteminha tipo ERP para controle de processos em um escritório de advocacia, porém, me deparei com um erro que não consigo corrigir, já revi, trevi e nada. O problema: O formulário elaborado contém o botão pesquisar e outro alterar, a lógica seria: - pesquisar um nome, fazer a alteração e apertar alterar, analogicamente, alteraria na mesma linha, porém não consigo essa façanha, no meu caso ela está criando um novo usuário e salvando na linha ativa da planilha. Peço por gentileza alguém possa me ajudar. Caso interesse em me ajudar, estou disponibilizando meu email para eu poder enviar a planilha latreinamentosp@gmail.com obrigado
-
Bom dia pessoal. Desde já peço desculpas por qualquer erro referente a postagem do problema. Enfim, vamos ao problema. Estou em um projeto pessoal na qual preciso que em o sistema exibam as 'TABLES' no corpo da pagina principal dinamicamente, até aí funcionando perfeitamente, um outro detalhe é que as ações de VISUALIZAR e EDITAR gostaria que fosse exibido em uma tela modal do "BOOTSTRAP", no VISUALIZAR não tenho erro ao recuperar essas informações do MySql, porém no EDITAR essas informações não são recuperadas, tive de forma simples inspecionando o código no navegador e pelo que entendi parte do processo ocorre porém ao entrar no SCRIPT que ADICIONA as informações nos INPUTS, TEXTAREA ele apresenta um erro, segue código para um melhor entendimento. Pagina principal (index.php) <body> <?php include_once("menu_index.php"); $link = $_GET["link"]; $pag[1] = "../index.php"; $pag[2] = "forms/form_profissao.php"; if(!empty($link)){ if(file_exists($pag[$link])){ include $pag[$link]; }else{ include "bem_vindo.php"; } }else{ include "bem_vindo.php"; } ?> <script src="js/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> Arquivo de exibição da "TABLE" mais Ações de Visualizar, Editar e Apagar. <?php $result_prof = "SELECT * FROM tb_profissao"; $resultado_prof = $mysqli->query($result_prof); ?> <div class="page-header"> <h1>Cadastro de Profissões</h1> </div> <?php $result_prof = "SELECT * FROM tb_profissao"; $resultado_prof = $mysqli->query($result_prof); ?> <div class="container theme-showcase" role="main"> <div class="page-header"> <h1>Cadastro de Profissões</h1> </div> <div class="pull-right"> <button type="button" class="btn btn-success " data-toggle"modal" data-target="#myModalcad"> Cadastrar</button> </div> <div class="row"> <div class="col-md-12"> <table class="table"> <thead> <tr> <th>Id</th> <th>Profissão</th> <th>Ação</th> </tr> </thead> <tbody> <?php while($rows_prof = mysqli_fetch_assoc($resultado_prof)){ ?> <tr> <td><?php echo $rows_prof['id']; ?></td> <td><?php echo $rows_prof['profissao']; ?></td> <td> <button type="button" class="btn btn-xs btn-primary" data-toggle="modal" data-target="#myModal<?php echo $rows_prof['id']; ?>">Visualizar</button> <button type="button" class="btn btn-xs btn-warning" data-toggle="modal" data-target="#exampleModal" data-whatever="<?php echo $rows_prof['id']; ?>" data-whateverprofissao="<?php echo $rows_prof['profissao']; ?>" data-whateverdetalhes="<?php echo $rows_prof['detalhes']; ?>">Editar</button> <a href="deleta_profissao.php?id=<?php echo $rows_prof['id']; ?>"><button type="button" class="btn btn-xs btn-danger">Apagar</button></a> </td> </tr> Qui o Modal com os campos. <!-- Inicio Modal EDITAR --> <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title" id="exampleModalLabel">Profissão</h4> </div> <div class="modal-body"> <form method="POST" action="altera_profissao.php"> <input name="id" type="hidden" id="id_prof"> <div class="form-group"> <label for="recipient-name" class="form-control-label">Profissão:</label> <input name="profissao" type="text" class="form-control" id="recipient-name"> </div> <div class="form-group"> <label for="message-text" class="form-control-label">Mais Informações:</label> <textarea name="detalhes" class="form-control" id="detalhes-text"></textarea> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" data-dismiss="modal">Cancelar</button> <button type="submit" class="btn btn-danger">Alterar</button> </div> </form> </div> </div> </div> </div> <!-- Fim Modal EDITAR--> e aqui o script que adiciona os valores recuperados ao INPUT e TEXTAREA <!--Script de Inicio de tela modal para EDITAR--> <script> $('#exampleModal').on('show.bs.modal', function (event) { var button = $(event.relatedTarget) var recipient = button.data('whatever') var recipientprofissao = button.data('whateverprofissao') var recipientdetalhes = button.data('whateverdetalhes') var modal = $(this) modal.find('.modal-title').text('ID da Profissão: ' + recipient) modal.find('#id_prof').val(recipient) modal.find('#recipient-name').val(recipientprofissao) modal.find('#detalhes-text').val(recipientdetalhes) }) </script> <!--Script de Fim de tela modal para EDITAR--> Como disse antes, pelo que percebi ele não entra no Script apresentando este erro. Fim pessoal, muito grato se alguém puder me ajudar com esse desafio.
-
Preciso que o campo text armazene o conteudo no banco e toda vez que for acessar este form que o conteudo já apareça e consiga editalo o sql que uso é esse abaixo create table anotacoes (anotacoes text); como faço isso alguém tem alguma ideia ?
-
eae pessoal , preciso de um sistema de impresao de pagina, por exemplo: eu tenho uma pagina onde os dados $nome $email etc... são mostrados para o cliente, então gostaria de criar um botao onde o cliente tenha a opção de imprimir a pagina , porem eu teria que fazer uma impresao antes , para mostrar outros dados como nome do site , logo do site , data , nome do administrador e outras coisas do bd , alguém tem alguma dica de como ou onde posso obter algo parecido ???
-
Bom dia. Professor passou um trabalho, criar uma site que possa importar um arquivo .txt, ler o arquivo e editar. Porém quando eu importar o arquivo ele tem que abrir dentro de caixas de texto. Exemplo tem a coluna nome e email. quando eu importar o .txt os dados nome e email vão preencher as caixas de texto correspondente, podendo editar e depois salvar. Eu conseguir fazer com que importasse, só que ele abre o .txt numa caixa só. Alguém pode me ajudar?