2017-07-26 2 views
0

Je suis encore nouveau en Java; Je crée un champ de recherche ou de filtrage pour trouver ma base de données dans Jtable mais ce code ne recherche qu'une minuscule. Comment puis-je faire ce codage qui peut filtrer les majuscules et les minuscules?Filtrer et rechercher dans jtable netbeans

Voici mon code:

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) { 
    DefaultTableModel table = (DefaultTableModel)JTable_MosqueManagementSystem.getModel(); 
     String search = jTextField1.getText().toLowerCase(); 
    TableRowSorter<DefaultTableModel> tr = new TableRowSorter<DefaultTableModel>(table); 
    JTable_MosqueManagementSystem.setRowSorter(tr); 
    tr.setRowFilter(RowFilter.regexFilter(search)); } 

Répondre

0

Essayez le motif donné en enlevant toLowerCase() méthode de la chaîne

RowFilter<TableModel, Object> filter = RowFilter.regexFilter(Pattern.compile(lookup,Pattern.CASE_INSENSITIVE).toString(),0,1); 

Pour d'autres modifications suivre le lien donné

https://coderanch.com/t/498043/java/JTable-rowFilter-case-insensitive

+0

Mademoiselle, pouvez-vous essayer de modifier mon codage, je ne sais pas comment le changer – sya

0

Soit vous changez votre dernière ligne de ce

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) { 
    DefaultTableModel table = (DefaultTableModel)JTable_MosqueManagementSystem.getModel(); 
     String search = jTextField1.getText(); 
    TableRowSorter<DefaultTableModel> tr = new  TableRowSorter<DefaultTableModel>(table); 
    JTable_MosqueManagementSystem.setRowSorter(tr); 
    sorter.setRowFilter(RowFilter.regexFilter("(?i)" + "Alt",search)); 
} 

ou

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) { 
      DefaultTableModel table = (DefaultTableModel)JTable_MosqueManagementSystem.getModel(); 
       String search = jTextField1.getText(); 
      TableRowSorter<DefaultTableModel> tr = new  TableRowSorter<DefaultTableModel>(table); 
      JTable_MosqueManagementSystem.setRowSorter(tr); 
     tr.setRowFilter(RowFilter.regexFilter("alt",Pattern.CASE_INSENSITIVE,search)); 
    } 

ou essayez cette

private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) { 
    DefaultTableModel table = (DefaultTableModel)JTable_MosqueManagementSystem.getModel(); 
     String search = jTextField1.getText(); 
    TableRowSorter<DefaultTableModel> tr = new  TableRowSorter<DefaultTableModel>(table); 
    JTable_MosqueManagementSystem.setRowSorter(tr); 
Pattern pattern = Pattern.compile("alt", Pattern.CASE_INSENSITIVE); 
     tr.setRowFilter(RowFilter.regexFilter(pattern,search)); 
} 
+0

merci beaucoup. Tu m'as sauvé. – sya