
kebanyakan teman-teman yang membuat kode pogram, pasti memberikan sebuah action query pada JTextfield tersebut..:D. Ya kurang lebih seperti ini.
1 | SELECT * FROM Siswa WHERE nama_siswa like ' %"+JTextfield.getText()+" %' ; |
1. | SELECT * FROM Siswa WHERE nama_siswa like ' %"a" %' ; |
Hmmm……Sungguh Boros sekali. Hanya menuliskan sebuah charakter saja. perlu melakukan perintah “SELECT” berulang-ulang. Nah untuk itu, kita menggunakan Table Row Sorter. Jadi kita akan melakukan sebuah pencarian data ke dalam JTable yang kita miliki saja. Tidak ada perintah “SELECT” di dalam nya. Kita tinggal memfilter karakter yang kita ketikan di sebuah jTexfield dengan data yang ada di JTable. Baik kita mulai saja. Kita lansung ke contohnya saja yach.
Perlu di perhatikan disini. saya menggunakan DataSiswaTableModel. java sebagai DefaultTableModel nya. teman-teman bisa buat kelas untuk menampilkan data dengan menurunkan kelas DefaultTableModel atau AbstractTableModel. Saya telah membuat class turunan AbstractTableModel yang diberinama DataSiswaTableModel.java.
Baik, Lansung saja. Pada screenshot di atas. saya Mempunyai Sebuah JFrame class. yang memiliki sebuah JLabel, JTextfield dan Sebuah JTable. untuk button-buttonya bukan bahasan kita
kalo di class saya, kurang lebih seperti ini :
1 | public class DataSiswaView extends javax.swing.JInternalFrame implements DocumentListener |
1 2 3 4 5 6 7 8 9 10 11 | public void insertUpdate(DocumentEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void removeUpdate(DocumentEvent e) { throw new UnsupportedOperationException("Not supported yet."); } public void changedUpdate(DocumentEvent e) { throw new UnsupportedOperationException("Not supported yet."); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /** * * @author pratama */ public class DataSiswaView extends javax.swing.JInternalFrame implements DocumentListener { /** Creates new form DataSiswa */ private List records = new ArrayList(); //class table model private DataSiswaTableModel siswaTable; //table row sorter private TableRowSorter sorter; public DataSiswaView() { initComponents(); //inisialisasi class DataSiswatableModel siswaTable = new DataSiswaTableModel(records); tableSiswa.setModel(siswaTable); /** * Men-SET table sorter. * cariTextField = nama komponen pencarian */ cariTextField.getDocument().addDocumentListener(this); sorter = new TableRowSorter(siswaTable); tableSiswa.setRowSorter(sorter); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public void insertUpdate(DocumentEvent e) { newFilter(); } public void removeUpdate(DocumentEvent e) { newFilter(); } public void changedUpdate(DocumentEvent e) { // throw new UnsupportedOperationException("Not supported yet."); newFilter(); } private void newFilter() { RowFilter rf = null; //If current expression doesn't parse, don't update. try { rf = RowFilter.regexFilter(cariTextField.getText(), 0, 1); } catch (java.util.regex.PatternSyntaxException e) { return; } sorter.setRowFilter(rf); } |
Terimasih teman-teman, semoga bisa sedikit membantu







3 komentar:
Mkasih bro ini yg butuhkan . . .
Mkasih bro ini yg butuhkan . . .
http://latihanbasisdata.blogspot.com/2016/06/pencarian-data-dari-tabel-java.html
Searching Data by ID and Name
Pencarian Data berdasarkan ID dan Nama
Posting Komentar