【发布时间】:2015-05-04 08:56:33
【问题描述】:
我在数据库中有一个表,该表的第一列包含一些数值,这是原始数据。有一种特定的算法可以将这些原始数值转换为处理后的文本值。
我该如何实现:
- 在Jtable中显示处理后的文本数据。我应该在哪里处理原始数值?在结果集中?在数据模型中?在 jtable 中?
- 使用此列但使用原始原始数值而不是显示的已处理文本值对 Jtable 中的行进行排序。这甚至可能吗?
谢谢
【问题讨论】:
我在数据库中有一个表,该表的第一列包含一些数值,这是原始数据。有一种特定的算法可以将这些原始数值转换为处理后的文本值。
我该如何实现:
谢谢
【问题讨论】:
原始数据应存储在 TableModel 中。渲染器用于控制表格中显示的内容。例如,您将 123456 作为 Integer 存储在 TableModel 中,那么 Integers 的默认渲染器将在表格中显示“123,456”。
所以在您的情况下,您需要创建一个自定义渲染器。
看看Table Format Renderers。它显示了一个简单示例,说明如何覆盖DefaultTableCellRenderer 的setValue(...) 方法。
我想使用此列对 Jtable 中的行进行排序,但使用原始的原始数值,而不是显示的已处理文本值。这甚至可能吗?
是的,表格排序器根据 TableModel 中的数据进行排序。
【讨论】: