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

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

Добрый день.
К сожалению, используемая в 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");
}
Если предполагается, что данные в экране просмотра должны редактироваться, то необходимо:
readOnly="true" с элемента data в дескрипторе экрана.dataContext.commit()
@Autowired
private DataContext dataContext;
@Subscribe("saveBtn")
public void onSaveBtnClick(Button.ClickEvent event) {
dataContext.commit();
}