- 我有一张员工考勤记录表,例如:
- 列标题将是一个月的日期,从 1/11,2/11,3/11 到 30/11
- 第 0 行 --> 员工姓名 - 员工 ID
- 第 1 行 --> 开始时间
- 第 2 行 --> 结束时间
- 第 3 行 --> 闯入
- 第 4 行 --> 突破
第 5 行 --> 员工姓名 - 员工 ID
...如果我在搜索框中输入员工姓名,员工姓名所在的行
- 出现在上面的情况下它是第 0 行。但我需要显示四个连续的
行也是该员工的详细信息。
我们有什么办法可以做到这一点?
问问题
716 次
2 回答
1
如果我理解正确的话。如果您搜索具有员工姓名(例如)的员工,则显示与该员工相关的行必须发生。
AFAIK 只有在它们之间保持某种链接时才能显示这些行。因为表行中的每个 Employee 数据只是与其他行一样的一行。Employee class
因此,使用属性创建一个,当用户使用 查询时EmpName
,检索该员工的所有详细信息。
但就设计而言,我认为您应该更喜欢为每个员工提供每一行,而不是在一行中给出所有员工姓名或在一行中给出所有开始时间。因为在不知道它们究竟代表什么的情况下查看细节会令人困惑。
这只是我的理解和建议。如果我错了,请纠正我。
于 2012-11-20T15:47:04.983 回答
1
以下是如何进行的概述:
创建和
JTable
的两个实例。employee
detail
让它
employee
用作SINGLE_SELECTION
它的ListSelectionModel
viasetSelectionMode()
。让
TableModel
ofdetail
包含ListSelectionListener
从 接收事件的aemployee
,如相关示例所示。要在中显示所选
employee
数据detail
,可以扩展和。TableModel
detail
AbstractTableModel
fireTableDataChanged()
例如,
employee.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
// update the detail table model based on the selected employee
fireTableDataChanged();
}
}
});
于 2012-11-20T18:56:04.913 回答