【问题标题】:Search in SQL table through JTextField key released with both UPPERCASE or LOWERCASE通过使用 UPPERCASE 或 LOWERCASE 释放的 JTextField 键在 SQL 表中搜索
【发布时间】:2019-03-01 03:31:05
【问题描述】:

我想通过 NetBeans 中发布的 JTextField 键在 SQL 表中搜索客户名称。

这是我发布的 JTextField 键代码:

DefaultTableModel table = (DefaultTableModel)jTable1.getModel(); 
String search = jTextField1.getText(); 
TableRowSorter<DefaultTableModel> tr = new  TableRowSorter<DefaultTableModel>(table);

jTable1.setRowSorter(tr);
tr.setRowFilter(RowFilter.regexFilter(search));

例如,如果我想在写像 " ronaldo " 这样的起始词时找到客户名称 " RoNaldo ",那么它不起作用。实际上,当写像" RoNaldo " 这样的同一个词时,它会显示在表格中。所以,请为我提供正确的代码。

【问题讨论】:

    标签: java sql swing


    【解决方案1】:

    Esto le ayudará: How can I perform a case-insensitive filter on a JTable?

    Pero sin mas nada, la expresión regular que debe usar es "(?i)"+search :

    tr.setRowFilter(RowFilter.regexFilter("(?i)" + search));
    

    【讨论】:

    • Amigo, en el link que le proporcioné, las dos respuestas propuestas puede 实施者。 La segunda respuesta es una buena opción también.
    • pero lo comprobé en jtext keyreleased ... no está buscando nada
    【解决方案2】:

    你必须使用这样的东西,

    DefaultTableModel table = (DefaultTableModel)jTable1.getModel();
    TableRowSorter<DefaultTableModel> tr = new  TableRowSorter<DefaultTableModel>(table);
    
    String search = jTextField1.getText().toLowerCase();
    if (search.trim().length() == 0) {
          tr.setRowFilter(null);
       } else {
          tr.setRowFilter(RowFilter.regexFilter("(?i)" + search));
     }
    

    【讨论】:

    • 你把它放在 jTextField1 键释放事件中了吗?
    • 是的,但它没有搜索任何东西
    • 更新了我的答案。
    【解决方案3】:

    除了不区分大小写的搜索之外,理想情况下,对该列的排序也应该不区分大小写。

    final int nameColumn = 1;
    tr.setComparator(nameColumn, (lhs, rhs) -> ((String)lhs).compareToIgnoreCase((String) rhs));
    

    以上假设列为 1,将其调整为正确的列。

    【讨论】:

    • 我在已发布的 JTextField 键中检查了此代码,但它不起作用...请提供完整代码
    猜你喜欢
    • 2012-01-12
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多