Deleting Multi-Selected Rows from Table

A common user experience is to select multiple rows of a table and then delete those rows from the database by clicking a Delete button. When the user selects more than one row in a table, there is a special function available on the table that makes accessible the row indexes of the table as a Python list. This list can be iterated through an order to delete the selected rows from the database as shown in this example code that can be called from a button's actionPerformed event handler.

Delete from Database
data = event.source.parent.getComponent('Table').data #Get the data from the table and assign it to the variable called data.
rows = event.source.parent.getComponent('Table').getSelectedRows() #Get the rows of the data that the user has currently highlighted.
 
for row in rows: #Iterate through each row of the list that is associated with the rows variable.
id = data.getValueAt(row, "id") #Get the value associated with the current row and the the column called "id"
system.db.runPrepUpdate("DELETE FROM tableName WHERE id = ?", [id]) #Run the query to delete from the database.

This code makes a few assumptions. First that there is table named tableName in your database, and that the table's Data property is bound to the same table.

Next...