Добавление новой строки в DataGrid без открытия сущности

Добрый день.

У меня при нажатии Create(actions) в DataGrid открывается окно добавления сущности. Возможно ли сделать так чтоб окно редактирования не открывалось, а сразу появлялась строка(пустая) в Grid, которую я бы могла отредактировать? Collection подчиненная.

public class Order_from_supplierEdit extends StandardEditor<Order_from_supplier> {

    @Inject
    private DateField<Date> dateField;
    @Inject
    private DataGrid<OrderLine> order_from_supplierOrderlinesDataGrid;
    @Inject
    private Metadata metadata;
    @Inject
    private CollectionPropertyContainer<OrderLine> order_from_supplierOrderlinesesDc;
    @Inject
    private Button myButton;


    @Subscribe
    public void onInit(InitEvent event) {

        dateField.setRangeEnd(new Date());
    }

    @Nullable
    public void init(Map<String, Object> params) {
        Action addAction = new BaseAction("addOrderLine").withHandler(actionPerformedEvent -> {
            OrderLine orderline = metadata.create(OrderLine.class);
            order_from_supplierOrderlinesesDc.getItems().add(orderline);

            order_from_supplierOrderlinesDataGrid.edit(orderline);
        });
        myButton.setAction(addAction);
    }

}

Спасибо.

Здравствуйте!

Можно подписаться на ActionPerformedEvent у create действия, так мы переопределим логику открытия редактора.

Пример:

@Inject
private CollectionPropertyContainer<Order> ordersDc;
@Inject
private DataGrid<Order> ordersDataGrid;
@Inject
private DataContext dataContext;

@Subscribe("ordersDataGrid.create")
public void onOrdersDataGridCreate(Action.ActionPerformedEvent event) {
    Order order = dataContext.create(Order.class);
    order.setCustomer(getEditedEntity());
    ordersDc.getMutableItems().add(order);
    ordersDataGrid.edit(order);
}
1 симпатия

Спасибо большое! Очень помогли!