- 我有例如員工考勤記錄表:
- 列標題將是ASC爲了一個月的日期,1/11,2/11,3/11高達30/11
- 行0 - >僱員姓名 - 僱員ID
- 行1 - >開始時間
- 行2 - >結束時間
- 行3 - >斷裂
- 第4排 - >爆發
排5 - >員工的名字 - 員工ID
...顯示多行的JTable基於搜索文本如果我在搜索框中鍵入員工的名字,與員工姓名
- 行出現在上述情況下,是行0.但我需要顯示連續四個
行也是該員工的詳細信息。
有什麼辦法可以做到這一點?
回答
下面是如何進行的大綱:
創建的
JTable
,employee
和detail
兩個實例。讓
employee
使用SINGLE_SELECTION
作爲其ListSelectionModel
通過setSelectionMode()
。讓
detail
的TableModel
包含接收來自employee
事件,如本相關example一個ListSelectionListener
。要在
detail
顯示所選擇的數據employee
,的detail
的TableModel
可以延伸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();
}
}
});
您好,您的回答給了我一個找到解決方案的想法。我創建了兩個tablemodel,而不是創建兩個表的實例。最初該表被設置爲包含所有記錄的tablemodel1。當搜索按鈕被點擊時,我得到了匹配搜索文本的行。然後檢索循環中的行,因爲所有員工都有13條記錄。 tablemodel2僅保留被搜索的員工詳細信息。循環結束後,我爲表格設置tablemodel2。現在我添加了另一個按鈕清除搜索,它將再次分配保存所有記錄的tablemodel1。 – AnithaRaj
當然可以更改模型,如[here](http://stackoverflow.com/a/8260663/230513)所示。另見[*排序和過濾*](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting)。你可以編輯你的問題以包含顯示你的方法的[sscce](http://sscce.org/),或者你可以[回答你自己的問題](http://meta.stackexchange.com/q/17463/163188 )。無論採用哪種方式,您都可以通過單擊[空對號](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)接受答案。剩下。 – trashgod
如果我理解正確。如果您搜索具有員工姓名的員工(比如說),那麼顯示與該員工相關的行必須發生。
AFAIK只有當您保持某些鏈接時纔可以顯示行。因爲表格行中的每個員工數據只是其他行的行。因此,創建一個帶有屬性的Employee class
,並在用戶查詢EmpName
時檢索該員工的所有詳細信息。
但只要設計考慮,我認爲你應該更喜歡在一個排給每行每一位員工,而沒有給所有員工姓名或全部一行開始時間。因爲在不知道它們代表什麼的情況下看到細節令人困惑。
這只是我的理解和建議。糾正我,如果我錯了。
- 1. 基於文本搜索的行數
- 2. 在JTable列中顯示多行文本
- 3. Twitter搜索 - 基於CSV的文本文件中的多個搜索
- 4. php搜索,顯示基於搜索返回的php模板
- 5. 搜索基於文本的PowerShell
- 6. JTable中顯示JTextFiled搜索結果
- 7. 在Rails的基本搜索結果中顯示搜索查詢
- 8. 顯示jquery中的搜索jtable的數據jtable
- 9. JTable在JFrame中僅顯示一次用於搜索查詢
- 10. java swing jtable - 每行顯示行索引
- 11. 使用JTextfield文本重複搜索JTable
- 12. 如何突出顯示通過JTextfield搜索到的Jtable中的文本
- 13. 在日期之間進行搜索如何在jtable中顯示
- 14. 如何在JTable中執行搜索並顯示結果
- 15. 搜索文本文件中的短語,然後顯示該行
- 16. 搜索文本文件並顯示匹配的行
- 17. 搜索文本文件中的行,並顯示Yes或No PHP
- 18. 如何搜索多行文本框中的所有SQL表格和顯示行?
- 19. 當前顯示的JTable有多少行?
- 20. 以angularjs顯示基於值的文本
- 21. Python基於文本的遊戲顯示
- 22. 搜索後顯示多個
- 23. 根據文本搜索顯示div
- 24. 如何根據搜索值顯示行,適用於多列
- 25. 基於單獨列搜索的顯示錶:保留搜索字段和值
- 26. 將突出顯示的文本應用於多行文本
- 27. 僅顯示長文本中的JTable
- 28. 在文本文件中搜索一行並顯示結果
- 29. 如何在文件和顯示行中搜索文本
- 30. 基於$ array的顯示行
*「有什麼辦法,我們可以做到這一點。」 *你可以使用Shift鍵在句子的開始,並添加全停下來嗎?然後我可能會讀到.. –
這聽起來不像普通表格。你有沒有考慮使用SwingX項目的'JXTreeTable',它可能更適合這個。即使是'JList'聽起來也不錯,用自定義渲染器返回多行組件 – Robin
這是一個普通的JTable。對於每位員工,我希望顯示屬於該員工的所有行 – AnithaRaj