/** * Add an {@link ItemClickListener} to be notified when user clicks on an item row. * @param listener Listener to add (not null) * @return the listener registration */ public Registration addItemClickListener(final ItemClickListener<T, P> listener) { ObjectUtils.argumentNotNull(listener, "Listener must be not null"); return getGrid().addItemClickListener(e -> listener.onItemClick(e.getItem(), getColumnProperty(e.getColumn().getId()), e.getRowIndex(), e.getMouseEventDetails())); }
protected void initComponent(Grid<E> component) { setSelectionMode(SelectionMode.SINGLE); component.setColumnReorderingAllowed(true); component.addItemClickListener(this::onItemClick); component.addColumnReorderListener(this::onColumnReorder); component.addSortListener(this::onSort); component.setSizeUndefined(); component.setHeightMode(HeightMode.UNDEFINED); component.setStyleGenerator(this::getGeneratedRowStyle); //noinspection unchecked ((CubaEnhancedGrid<E>) component).setCubaEditorFieldFactory(createEditorFieldFactory()); }
/** * Add an {@link ItemClickListener} to be notified when user clicks on an item row. * @param listener Listener to add (not null) */ @SuppressWarnings("unchecked") public void addItemClickListener(final ItemClickListener<T, P> listener) { ObjectUtils.argumentNotNull(listener, "Listener must be not null"); switch (getRenderingMode()) { case GRID: getGrid().addItemClickListener(e -> getItem(e.getItemId()).ifPresent(i -> { listener.onItemClick(i, (P) e.getPropertyId(), fromClickEvent(e)); })); break; case TABLE: getTable().addItemClickListener(e -> getItem(e.getItemId()).ifPresent(i -> { listener.onItemClick(i, (P) e.getPropertyId(), fromClickEvent(e)); })); break; default: break; } }
grid.setSelectionMode(definition.isMultiSelect() ? Grid.SelectionMode.MULTI : Grid.SelectionMode.SINGLE); grid.addSelectionListener(event -> valueContext.current().set(SelectedItems.of(event.getAllSelectedItems()))); grid.addItemClickListener(event -> { grid.deselectAll(); grid.select(event.getItem());