在 JTable 中编辑单元格值时更新 mysql
Update mysql when cell value is edited in JTable
好吧,我的应用程序中有一个 JTable,它从 MySql 数据库中获取记录并按排序顺序显示它们。
到目前为止,我一直在使用单独的 JTextArea 和 JComboBox 来允许用户编辑 table,例如
因此,只要有人单击 table 中的一行,记录的 ID 就会自动更新在位于 JComboBox 之前的 JLabel 下方。
问题是我如何允许用户简单地双击并编辑单元格中的值,这将自动触发 SQL 更新查询并在数据库中更新相同的查询。我只想在某些列而不是每个列上允许这样做。
非常感谢提供代码示例的回复。
how can I allow users to simply double click and edit values in the cells which would automatically fire a SQL Update query and update the same in the database.
您可以使用 TableModelListener
来接收有关 TableModel
更改的通知。
I want to allow this on certain Columns only not every Column.
row/column 在 TableModelEvent
中找到,因此您在调用 SQL 更新之前检查更改的列。
一个潜在的问题是,即使数据未更改,也会生成 TableModelEvent。也就是说,如果您将单元格置于编辑模式,例如,不更改地跳转到下一个单元格,数据和事件仍将生成。
要解决此问题,您可能需要考虑使用 Table Cell Listener。使用此 class 时,仅当数据实际已更改时才会生成事件。
好吧,我的应用程序中有一个 JTable,它从 MySql 数据库中获取记录并按排序顺序显示它们。
到目前为止,我一直在使用单独的 JTextArea 和 JComboBox 来允许用户编辑 table,例如
因此,只要有人单击 table 中的一行,记录的 ID 就会自动更新在位于 JComboBox 之前的 JLabel 下方。
问题是我如何允许用户简单地双击并编辑单元格中的值,这将自动触发 SQL 更新查询并在数据库中更新相同的查询。我只想在某些列而不是每个列上允许这样做。
非常感谢提供代码示例的回复。
how can I allow users to simply double click and edit values in the cells which would automatically fire a SQL Update query and update the same in the database.
您可以使用 TableModelListener
来接收有关 TableModel
更改的通知。
I want to allow this on certain Columns only not every Column.
row/column 在 TableModelEvent
中找到,因此您在调用 SQL 更新之前检查更改的列。
一个潜在的问题是,即使数据未更改,也会生成 TableModelEvent。也就是说,如果您将单元格置于编辑模式,例如,不更改地跳转到下一个单元格,数据和事件仍将生成。
要解决此问题,您可能需要考虑使用 Table Cell Listener。使用此 class 时,仅当数据实际已更改时才会生成事件。