【问题标题】:Display processed values in Jtable column and sort using raw values?在 Jtable 列中显示处理后的值并使用原始值进行排序?
【发布时间】:2015-05-04 08:56:33
【问题描述】:

我在数据库中有一个表,该表的第一列包含一些数值,这是原始数据。有一种特定的算法可以将这些原始数值转换为处理后的文本值。
我该如何实现:

  • 在Jtable中显示处理后的文本数据。我应该在哪里处理原始数值?在结果集中?在数据模型中?在 jtable 中?
  • 使用此列但使用原始原始数值而不是显示的已处理文本值对 Jtable 中的行进行排序。这甚至可能吗?

谢谢

【问题讨论】:

    标签: java swing jtable


    【解决方案1】:

    原始数据应存储在 TableModel 中。渲染器用于控制表格中显示的内容。例如,您将 123456 作为 Integer 存储在 TableModel 中,那么 Integers 的默认渲染器将在表格中显示“123,456”。

    所以在您的情况下,您需要创建一个自定义渲染器。

    看看Table Format Renderers。它显示了一个简单示例,说明如何覆盖DefaultTableCellRenderersetValue(...) 方法。

    我想使用此列对 Jtable 中的行进行排序,但使用原始的原始数值,而不是显示的已处理文本值。这甚至可能吗?

    是的,表格排序器根据 TableModel 中的数据进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多