我有一个返回大量行的数据库查询。JDBC
没有告诉你有多少行回来了,在我将它显示在JTable
.
所以我正在使用的模型是一个Iterable<R>
,但不幸的是,TableRowModel
必须预先知道行数。
我可以想象一些可能有效的策略:
- 加载所有行,但在后台执行并将它们批量添加到模型中。
- 以某种方式检测呈现较低行的请求(通过我猜的模型)并在发生这种情况时动态加载更多行。
- 在屏幕上有一个按钮来显式加载更多行。
- 某种
non-JTable
支持渲染行而不事先知道行数的组件(理想,但我找不到。)
我想知道是否有一种“正常”的方式来做到这一点,因为我在 UI 中并不经常看到这种事情。我检查过的几个JDBC
工具(我认为这些是最好的选择)似乎要么急切地加载结果,要么分页(作为用户,我真的不喜欢 GUI 应用程序中的分页,所以我想避免这种情况。)
不过,像“查找”这样的操作在理想情况下应该以“可理解”的方式工作......所以看起来这不会太容易。