@Override public boolean stopCellEditing() { JTextField txt1 = (JTextField) getComponent(); Object o = txt1.getText(); try { sSql = "select " + sFieldShow + " from " + sTable + " where " + sFieldShow.substring(0, sFieldShow.indexOf(",")) + "='" + o.toString() + "'"; // System.out.println("AAA "+sSql); Statement stmtfind = con.createStatement(); ResultSet rsfind = stmtfind.executeQuery(sSql); if (!rsfind.next()) { return false; } else { // lbl.setText(rsfind.getString(2)); // System.out.println(lbl.getText()); } stmtfind.close(); rsfind.close(); } catch (SQLException se) { } lst.dispose(); return super.stopCellEditing(); }
public TextEditor( JTable table, Connection newCon, String sFieldToBeShown, String sNameTable, Integer xx, Integer yy) { super(new JTextField()); kk = 0; sFieldShow = sFieldToBeShown; sTable = sNameTable; posx = xx; posy = yy; con = newCon; sExFil = ""; lst = new ListCH1(); lst.setVisible(false); lst.setSize(200, 400); ListCH1.con = newCon; lbl = new JLabel(); txt = (JTextField) getComponent(); tbl = table; txt.addKeyListener( new java.awt.event.KeyAdapter() { @Override public void keyReleased(java.awt.event.KeyEvent evt) { txtKeyReleased(evt); } }); txt.addAncestorListener( new AncestorListener() { @Override public void ancestorAdded(AncestorEvent event) { // make sure combobox handles key events txt.requestFocusInWindow(); } @Override public void ancestorRemoved(AncestorEvent event) {} @Override public void ancestorMoved(AncestorEvent event) {} }); txt.requestFocus(); }
private void txtKeyReleased(java.awt.event.KeyEvent evt) { try { String sCari = txt.getText(); switch (evt.getKeyCode()) { case java.awt.event.KeyEvent.VK_ENTER: { if (lst.isVisible()) { Object[] obj = lst.getOResult(); if (obj.length > 0) { txt.setText(obj[0].toString()); lbl.setText(obj[1].toString()); System.out.println(lbl.getText()); lst.setVisible(false); } } break; } case java.awt.event.KeyEvent.VK_DOWN: { if (lst.isVisible()) { lst.setFocusableWindowState(true); lst.setVisible(true); lst.requestFocus(); } break; } default: { String sText = sFieldShow; String sWhere = ""; while (sText.contains(",")) { sWhere = sWhere + sText.substring(0, sText.indexOf(",")) + " like '%" + sCari.trim().toUpperCase() + "%' OR "; sText = sText.substring(sText.indexOf(",") + 1, sText.length()); } sWhere = sWhere + sText + " like '%" + sCari.trim().toUpperCase() + "%'"; if (!sExFil.trim().equals("")) { sWhere = "(" + sWhere + ") and " + sExFil; } /* sSql="select "+sFieldShow+" from "+sTable+" where "+sFieldShow.substring(0, sFieldShow.indexOf(","))+ " like '%"+sCari.trim().toUpperCase()+"%' OR "+sFieldShow.substring(sFieldShow.indexOf(",")+1, sFieldShow.length())+ " like '%"+sCari.trim().toUpperCase()+"%' order by "+sFieldShow.substring(0, sFieldShow.indexOf(",")); */ sSql = "select " + sFieldShow + " from " + sTable + " where " + sWhere + " order by " + sFieldShow.substring(0, sFieldShow.indexOf(",")); lst.setSQuery(sSql); // Integer txtY=txt.getY()+tblY; // Integer txtY=tblY; lst.setBounds(tblX + txt.getX(), tblY.intValue() + txt.getHeight(), 200, 200); lst.setFocusableWindowState(false); lst.setTxtCari(txt); lst.setLblDes(new javax.swing.JLabel[] {lbl}); lst.setTable(tbl); lst.setIRow(iRow); // lst.setLblDes(lbl); lst.setColWidth(0, 75); lst.setColWidth(1, 200); lst.setVisible(true); break; } } } catch (SQLException se) { } }