프로그래밍에 익숙하지 않고 netbeans 8.1을 사용하여 프로그램을 코딩했습니다. 내 프로그램은 jTable에서 검색 할 모든 관련 항목을 표시하기위한 것입니다. 그런 다음 다른 jTable에서 특정 항목을 선택할 수 있습니다. 내가 rs2xml jTable에 대한 메서드를 만드는 데 사용하고 잘 작동합니다. 그러나 그것을 사용하면 내 검색이 잘못되었습니다. 검색에 올바른 항목을 표시하지 않습니다. 라이브러리 검색에서 rs2xml.jar을 제거하면 올바르게 작동하지만 항목을 선택하면 jTable에 표시되지 않습니다. 나는 이것을 알아낼 수 없다. 여기 rs2xml.jar을 사용하지 않고 jTable에 대한 메서드를 만들 수 있습니까?
검색 항목에 대한 코드는 다음 private void txtSearchKeyReleased(java.awt.event.KeyEvent evt) {
try {
@SuppressWarnings("LocalVariableHidesMemberVariable")
ResultSet rs = oilmart.getConnection().createStatement().executeQuery("SELECT * FROM stock WHERE Item_Name LIKE '%" + txtSearch.getText() + "%'");
if (rs.next()) {
billinfo();
txtPlace.setText(rs.getString("Place"));
} else {
JOptionPane.showMessageDialog(this, "Result not found", null, JOptionPane.ERROR_MESSAGE, null);
}
} catch (SQLException | HeadlessException e) {
}
// TODO add your handling code here:
}
그리고이 난 rs2xml.jar 사용하여 작성된 테이블 방법 :
public void billinfo() {
DefaultTableModel dtm = (DefaultTableModel) tblBillinfo.getModel();
dtm.setRowCount(0);
try {
@SuppressWarnings("LocalVariableHidesMemberVariable")
ResultSet rs = oilmart.getConnection().createStatement().executeQuery("SELECT * FROM stock WHERE Item_Name LIKE '%" + txtSearch.getText() + "%'");
while (rs.next()) {
Vector v = new Vector();
v.add(rs.getString("Item_No"));
v.add(rs.getString("Item_Name"));
v.add(rs.getString("Qty"));
v.add(rs.getString("Price_per_Qty"));
v.add(rs.getString("Place"));
buy_price = Integer.parseInt(rs.getString("Price_per_Qty"));
dtm.addRow(v);
tblBillinfo.setModel(DbUtils.resultSetToTableModel(rs));
}
} catch (Exception e) {
}
}
하고이 특정 항목을 선택하기위한 것이다 :
private void tblBillinfoMouseClicked(java.awt.event.MouseEvent evt) {
x++;
int r = tblBillinfo.getSelectedRow();
String no = tblBillinfo.getValueAt(r, 0).toString();
String name = tblBillinfo.getValueAt(r, 1).toString();
String buy = tblBillinfo.getValueAt(r, 3).toString();
buy_price = (int) tblBillinfo.getValueAt(r, 3);
String plc = tblBillinfo.getValueAt(r, 4).toString();
tblBill.setValueAt(no, x, 0);
tblBill.setValueAt(name, x, 1);
tblBill.setValueAt(buy, x, 2);
txtPlace.setText(plc);
}
알아낼 수 있도록 도와주세요. 감사.
dtm.addRow(v);
그러나 다음 바로 다음 문이 ResultSet 내의 데이터의 나머지 행과 첫 번째 행을 대체합니다
"jTable 용 메서드 만들기"의 의미를 분명히 할 수 있습니까? – David
내 인터페이스에 두 개의 테이블이 있습니다. 첫 번째는 검색에 대한 모든 관련 항목을 표시합니다. 그 테이블을위한 방법입니다. 해당 테이블을 클릭하면 선택한 항목이 다른 테이블에 표시됩니다. –