我想刷新一個JTable
後執行數據庫操作,如插入/更新/刪除沒有幀重新加載。有沒有一個程序化的解決方案來做到這一點?如何刷新數據庫操作後無需重新加載的JTable?
回答
答案取決於您使用的是什麼類型的TableModel
......以及事件發生的級別。
舉例來說,如果你有某種背景Thread
或「更新」按鈕,並希望重新從數據庫中的內容的基礎上,從數據庫中結果簡單的創建一個新的TableModel
並將其應用到當前JTable
,這將自動更新視圖。
如果您在應用程序中執行數據庫操作(添加,更新,刪除行),您可以向TableModel
提供某種通知,並簡單更新其內容。
例如DefaultTableModel
提供了addRow
,insertRow
,removeRow
方法。 TableModel
還提供了setValueAt
它允許您更改給定單元格的值。
所有這些方法提供通知發回,該模型與自動
就可以了: ) –
您應該使用jtable.getViewport().removeAll()
,然後再次使用從數據庫收集的所有數據重新填充它。
爲什麼不重新構建/重新填充模型 – MadProgrammer
爲什麼downvote?這不是一個解決方案!!,它可能不是最好的,但它是保留一個替代 –
不是downvoter,但我的猜測是因爲1-它違背了API的MVC性質穀物和2-過度低效...只是說......作爲一個猜測 – MadProgrammer
- 1. 刷新數據,無需重新加載
- 2. 數據庫插入後JTable不刷新
- 3. 刷新UITableView tableFooterView無需重新加載整個表數據
- 4. 重新加載數據表而無需使用ajax刷新
- 5. 如何使用數據庫中的數據更新(刷新)JTable
- 6. 如何在向數據庫插入數據後刷新JTable?
- 7. Django:如何從數據庫刷新或重新加載模型
- 8. 無需重新加載頁面重新加載數據表?
- 9. 如何刷新數據而無需使用data-bind重新加載頁面
- 10. 如何刷新數據表(jquery插件)無需重新加載頁面
- 11. 如何使JTable在更新數據庫後顯示刷新的數據?
- 12. 如何刷新頁面而無需在PHP中重新加載?
- 13. 如何刷新需要從數據庫加載的Android活動?
- 14. Jquery/Ajax刷新無需重新加載或加載頁面?
- 15. 更新Postgres數據庫,無需重新加載頁面
- 16. 從數據庫刷新數據,無需刷新頁面
- 17. 從數據庫加載信息,無需刷新整個頁面
- 18. 刷新Mysql計數,無需重新加載頁面
- 19. JTable不會重新刷新/刷新數據插入到mysql
- 20. 使用Netbeans刷新數據庫的jTable
- 21. 如何通過Javascript更新數據庫,然後重新加載
- 22. 頁面重定向無需重新加載/刷新
- 23. 如何重新加載外部JavaScript庫,而無需重新加載
- 24. 如何刷新/重新加載WPF中的數據網格?
- 25. 角度更新數據,無需刷新或加載頁面
- 26. TableView不重新加載/刷新後PopToRootViewController
- 27. 使用Socket.io刷新頁面上的數據無需重新加載
- 28. 更新後刷新JTable
- 29. 從數據庫刷新一個JTable
- 30. 在MySQL數據庫中插入數據後刷新JTable
你可以,更換一個新的代表表的當前狀態'TableModel'相關的
JTable
。當操作完成,插入,更新或刪除行時,您可以更新現有的「TableModel」。 – MadProgrammer您可以通過擴展'AbstractTableModel'並使用'fileTableXXXUpdated'方法創建自己的'TableModel',同時更改數據以便重新渲染表的位。如果表格很大,這是刷新單個單元格的最有效的方法。 –