【发布时间】:2011-11-27 18:46:08
【问题描述】:
我正在创建一个使用两列过滤 JTable 内容的程序。我使用了 RowSorter,一切正常 - 至少根据我所看到的(视图)。
表格上的每一行都可以双击打开一个对话框。此对话框允许您编辑表格上的信息。但是,对话框上的信息仍然是原始视图的信息(使用过滤之前)。
示例:
过滤前表格的第一行是a行。 过滤后表格的第一行是b行。
但是,当我双击打开第一行的对话框时(过滤后,现在应该是 b 行,a 行的对话框打开。) [希望我已经解释得足够清楚]
我认为我的问题是在过滤器发生后模型没有更新。我试过了:
for(int i = 0; i < table.getRowCount(); i++){
table.convertRowIndexToView(i);
}
和
for(int i = 0; i < table.getRowCount(); i++){
table.convertRowIndexToModel(i);
}
当我使用列标题对表格进行排序时,我也遇到了类似的问题。
我该如何解决这个问题?
【问题讨论】:
-
“希望我已经解释得足够好” SSCCE 通常可以很好地解释代码。顺便说一句,您有问题吗?
标签: java swing sorting jtable filtering