如何在两个日期之间实现RowFilter
?日期是字符串格式。是否有必要将格式更改为日期格式以应用RegexFilter
?两个日期之间的JTable rowfilter,同一列
我尝试使用以下,但没有成功
DefaultTableModel model = (DefaultTableModel) easypath.masteBusiness_table.getModel();
easypath.masteBusiness_table.setModel(model);
TableRowSorter<TableModel> rowSorter = new TableRowSorter<>(easypath.masteBusiness_table.getModel());
easypath.masteBusiness_table.setRowSorter(rowSorter);
rowSorter.setRowFilter(RowFilter.regexFilter(startD+"\\s+(.*?)\\s+"+endD));
我知道我错了过滤为(startD+"\\s+(.*?)\\s+"+endD));
只是用于搜索一个字符串,但作为新手我将非常感谢任何建议。
UPDATE
我刚看到这个(http://docs.oracle.com/javase/7/docs/api/javax/swing/RowFilter.html)其中RowSorter<M,I>
,M是模型,我是一个整数值,这不符合我的标准
数据存储为Date对象还是存储为String? – MadProgrammer
日期存储为字符串 – mustangDC
如果将它们存储为Date,则会更容易,因为您可以轻松比较日期,[示例](http://stackoverflow.com/questions/22495525/java-comparing-strings- which-are-numbers/22495727#22495727)比较基于字符串的日期。您需要定义您的Owen RowFilter,它会记录开始日期和结束日期,然后比较每一行以查看它是否在指定的范围之间。 [RowFilter示例](http://stackoverflow.com/questions/20958513/java-swing-toggle-button-to-filter-jtable-rows/20959348#20959348) – MadProgrammer