如何在两次约会之间缩短表行

flmtquvp  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(313)
combobox.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent arg0) {
                if(arg0.getStateChange()==ItemEvent.SELECTED) {
                    if(!combobox.getSelectedItem().toString().equals(items[0])) { //items[] for the items of the combobox.
                        DefaultTableModel table1 = (DefaultTableModel)table.getModel();
                        String search =combobox.getSelectedItem().toString();
                        TableRowSorter<DefaultTableModel> tr = new TableRowSorter<DefaultTableModel>(table1);
                        table.setRowSorter(tr);
                        tr.setRowFilter(RowFilter.regexFilter(search));
                    }
                }
            }
        });

我用这个密码。当我选择组合框中的一个项目时,它会使用所选项目对表进行排序。我有第二个组合框。假设combobox的名称是combobox2,combobox2的项是“last2month”。
表格的第一列是日期。当我选择combobox2的项目(最近2个月)时,我想对表进行排序。我只想看到最多2个月大的行。
例如,如果我发送了字符串(“01/01/2020”),我只想看到带有(“01/01/2020”)和在此日期之后的行。
但是用这个代码我只能看到我发送的日期。我希望我解释得很好。如果你们需要我可以分享更多的代码。

gijlo24d

gijlo24d1#

例如,如果我发送了字符串(“01/01/2020”),我只想看到带有(“01/01/2020”)和在此日期之后的行。
你需要使用“日期过滤器”。
例如,此筛选器将返回特定日期之后的所有日期:

RowFilter.dateFilter(ComparisonType.AFTER, new Date());

阅读 RowFilter 你可以使用的其他过滤器的api。
注:
不应在模型中存储字符串值。应该将日期存储在表示日期的对象中,然后使用自定义呈现器格式化日期。这将使上面的过滤器正常工作。

相关问题