Using Vaadin 24:
I tried to use GridContextMenu grid.addContextMenu()
, which opens with right click, however it does not select row on which I clicked and I can't find such option on GridContextMenu instance to set.
Secondly, I tried to add click listener and check mouse button, however I do not know how to get the row index I clicked:
grid.addItemClickListener(event -> {
val column = event.getColumn(); // can get only column
val buttonCode = event.getButton();
if (buttonCode == 2) { // 2 is secondary button / right button
// select here
}
});
Keep in mind that Grid columns are sortable - setSortable(true)
and reordable - setColumnReorderingAllowed(true)
. Please help, thank you.
Try use addGridContextMenuOpenedListener from GridContextMenu.
final var menu = grid.addContextMenu();
menu.addGridContextMenuOpenedListener(event -> event.getItem().ifPresent(grid::select));