[英]Cannot mouse clicked on a record in the jtable that has been Search and filtered among many other records
I'm having an issue where, I cannot mouse click on a record in the jtable that has been searched and filtered. 我遇到一个问题,我无法在已搜索和过滤的jtable中的记录上单击鼠标。 Let's assume, I have many records and i want to search/filter the record first and then mouse clicked on the filtered record for it to appear in the textField Boxes for deletion process.
假设我有很多记录,我想先搜索/过滤记录,然后在过滤后的记录上单击鼠标,以使其出现在textField框中以供删除。 Thanks in Advance I need help badly.
在此先感谢,我急需帮助。
My Table Before 我的桌子之前
My Table After Searched and filter, the row selected not appearing in the text field: 我的表格经过搜索和过滤后,所选行未出现在文本字段中:
private void deleteBtnActionPerformed(java.awt.event.ActionEvent evt) {
try {
Connection conn= DriverManager.getConnection("jdbc:derby://localhost:1527/KDatabase","koushal","456");
Statement st= conn.createStatement();
int row= jTableStaff.getSelectedRow();
String value=(jTableStaff.getModel().getValueAt(row,0).toString());
String query="delete from STAFFS where ID="+value;
PreparedStatement statement =conn.prepareStatement(query);
statement.executeUpdate();
DefaultTableModel model= (DefaultTableModel)jTableStaff.getModel();
model.setRowCount(0);
showStaff();
JOptionPane.showMessageDialog(null,"Deletion Sucessfull ");
} catch (SQLException ex) {
Logger.getLogger(DeleteManagerInterface.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jTableStaffMouseClicked(java.awt.event.MouseEvent evt) {
int i=jTableStaff.getSelectedRow();
TableModel model=jTableStaff.getModel();
ID_TxtField.setText(model.getValueAt(i,0).toString());
Name_TxtField.setText(model.getValueAt(i,1).toString());
}
private void SearchingIDTxtFieldKeyReleased(java.awt.event.KeyEvent evt) {
String userquery=SearchingIDTxtField.getText();
DefaultTableModel model= (DefaultTableModel)jTableStaff.getModel();
TableRowSorter<DefaultTableModel> sorter =new TableRowSorter<> (model);
jTableStaff.setRowSorter(sorter);
sorter.setRowFilter(RowFilter.regexFilter("(?i)"+userquery,0));
}
do this 做这个
DefaultTableModel mt = (DefaultTableModel)table.getModel();
String a = (String) mt.getValueAt(table.getSelectedRow(), 0);
String b =(String) mt.getValueAt(table.getSelectedRow(), 1);
String c =(String) mt.getValueAt(table.getSelectedRow(), 2);
then set the strings to textfields. 然后将字符串设置为文本字段。
textfield.setText(a);
textfield1.setText(b);
textfield2.setText(c);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.