I have a master detail UI where I have a table column listener b which a new row is inserted when a new value is entered in the particular column. The code looks as follows:
linesDs.addItemPropertyChangeListener(e -> {
if ("quantity".equals(e.getProperty())) {
linesTable.getRowsCount();
ProductionGrLines line = metadata.create(ProductionGrLines.class);
line.setProductionGr(productionGrDs.getItem());
linesDs.addItem(line);
linesDs.refresh();
linesTable.setSelected(line);
//showNotification("none", NotificationType.HUMANIZED);
}
});
I want to improve this functionality but seems like I need to know answer to the following questions:
- I want to insert the new row only at the end of the table (currently it is added randomly
- I can count the total number of Rows the table has. How can I get if the current row is the last row of the table. I want to insert a new row only when the user is editing a particular column of the last row. The new row should be created just below that.
- After a new row is created, the focus is lost, goes to URL or anywhere but i want the cursor moves to the new row created