根据搜索文本显示多行jtable

时间:2012-11-20 10:17:45

标签: java swing jtable

  1. 我有一张有员工出勤记录的表格,例如:
  2. 列标题将是一个月的日期,顺序为1 / 11,2 / 11,3 / 11至30/11
  3. 第0行 - >员工姓名 - 员工ID
  4. 第1行 - >开始时间
  5. 第2行 - >结束时间
  6. 第3行 - >打破
  7. 第4行 - >爆发
  8. 第5行 - >员工姓名 - 员工编号
    ......

  9. 如果我在搜索框中输入员工姓名,那么员工姓名的行

  10. 出现在上面的情况下它是第0行。但我需要显示连续四个
  11. 行也是该员工的详细信息。

  12. 我们有什么方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

如果我理解正确的话。如果您搜索具有员工姓名的员工(例如),则显示与该员工相关的行必须发生。

AFAIK只有在它们之间保持一些链接时才能显示行。因为表行中的每个Employee数据只是与其他行一样的行。因此,使用属性创建Employee class,并在用EmpName用户查询时,检索该员工的所有详细信息。

但就设计而言,我认为您应该更倾向于为每位员工分配每一行,而不是将所有员工姓名放在一行或所有开始时间排成一行。因为看到细节而不知道它们究竟代表什么是令人困惑的。

这只是我的理解和建议。如果我错了,请纠正我。

答案 1 :(得分:1)

以下是如何进行的概述:

  • 创建JTableemployeedetail的两个实例。

  • employee通过SINGLE_SELECTIONsetSelectionMode()用作ListSelectionModel

  • TableModel的{​​{1}}包含detail来自ListSelectionListener的活动,如相关的example所示。

  • 要在employee中显示所选的employee数据,detail的{​​{1}}可以展开TableModeldetail。< / p>

例如,

AbstractTableModel