2016-12-15 11 views
0

データフィルタリングされたテーブル行が結果に応じてビューを変更しましたが、私が行を選択したときにテーブルの最初の行が常にフィルタリングされていない行を選択しましたが、行の選択は私の問題を解決してください。JTable変更ビューはフィルタデータの後に行選択を変更しません

jTextField2.addKeyListener(new KeyAdapter() { 
    @Override 
    public void keyReleased(KeyEvent ke){ 
     trs.setRowFilter(RowFilter.regexFilter("(?i)"+jTextField2.getText(),0)); 
    } 
}); 


tm = (TableModel)table.getModel(); 
trs = new TableRowSorter(tm); 
table.setRowSorter(trs); 

ありがとう!

+0

右の行を取得するには、実際のモデル(データ)が変更されないため、 'int modelRow = table.convertRowIndexToModel(table.getSelectedRow());'を呼び出す必要があります。 1行目に値5を表示するかもしれませんが、1の前に値5を取得したい場合は変換する必要があります。そうでなければ5の代わりに1を返します。 – XtremeBaumer

+0

table.setRowSorter(trs)の後に使用されます。エラーが発生しました(EntityManagerでクエリを作成中に例外が発生しました:) –

+0

これは、選択した行のデータにアクセスする場所を呼び出したときに呼び出されます。 'TableModel'の代わりに' DefaultTableModel'を使用してください – XtremeBaumer

答えて

0

ANSWERので、このコードは、あなたのマウスイベントであなたのために働いていないFORMATTED CODE目的のため

int modelRow = table.convertRowIndexToModel(table.getSelectedRow()); 
DefaultTableModel model = (DefaultTableModel) table.getModel(); 
name=model.getValueAt(index,0).toString(); 
sale.setVisible(true); 
sale.pack(); 
sale.setLocationRelativeTo(null); 
sale.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
sale.jTextField5.setText(name); 
dispose(); 

ですか?マウスイベントがトリガされますか?質問を編集してコードを追加できますか(可能な場合はすべて)?

関連する問題