PivotTable с редактируемой ячейкой

Здравствуйте. Мы переносим старый сайт на cuba/jmix
как можно в пивотгрид вместо ячеек поставить текстбоксы или спиннеры. Что бы пользователь
сделал все модификаций мышкой и один раз нажал на кнопку Сохранить! Будем очень признательны за помощь!

pitanie-question-01

Добрый день.

К сожалению, используемая в PivotTable компоненте JavaScript библиотека не поддерживает редактирование данных.

Глеб

Спасибо за ответ. А нельзя ваадином сделать такое?

Тут количестов колонок относительно маленькое (около 5-6) и строк тож

То же самое для DataGrid. 10 на 10 гриде надо отобразить 100 textfield-ов. Можно такое сделать?

Для Вашей задачи должен подойти компонент Table с включенным редактированием, см документацию и демо.

Посмотрел пример. Вижу что изменения не сохраняются в базе. Поэтому добавил кнопку для сохранения. Простые сохранения работают. А если подключить транзакционно и кинуть исключение то данные все равно коммитятся. Поскажите правильный ли данный подход?

@Subscribe("customersTable.greeting")
    @Transactional
    public void onCustomersTableGreeting(Action.ActionPerformedEvent event) {
        Collection items = customersTable.getItems().getItems();

        for (Customer item : items) {
            dataManager.commit(item);
        }

        throw new RuntimeException("fail");
    }

Если предполагается, что данные в экране просмотра должны редактироваться, то необходимо:

  1. Убрать свойство readOnly="true" с элемента data в дескрипторе экрана.
  2. Для сохранения данных использовать dataContext.commit()
@Autowired
private DataContext dataContext;

@Subscribe("saveBtn")
public void onSaveBtnClick(Button.ClickEvent event) {
    dataContext.commit();
}