Добавление элемента сущности в списке

Добрый день!
как для простых сущностей сделать добавление элемента не открывая форму ‘detail’ сущности, а путем добавления строки в списке? спасибо!

Просто создайте новый экземпляр сущности и добавьте в контейнер списочного экрана.

MyItemClass newItem = dataContext.create(MyItemClass.class);
newItem.setStatus("New"); //Можно заполнить умолчательные значения атрибутов
MyItemsBrowseDc.getMutableItems().add(newitem);

Как сделать редактирование в строке (без открытия экрана редактирования) - есть в документации: dataGrid :: Документация Jmix

Добрый день! с добавлением нового экземпляра разобрался, спасибо!
также добавил в DataGrid компонент editorActionsColumn (как в документации). данные менять получается, но все изменения пропадают после обновления/смены фокуса. Я так понимаю, их нужно как-то обновлять из коллекции в БД? Подскажите пожалуйста, как это сделать? Через отслеживание какого-то события (Handler’а)? спасибо!

Без дескриптора и кода контроллера можно только гадать что там у вас не так…
Могу предположить, что данные у вас не сохраняются в БД.
Возможно у вас в дескриптор экрана browser остался в режиме “только чтение”.
При создании экрана browser по умолчанию устанавливается именно этот режим.

<data readOnly="true">
        <collection id="usersDc"
                    class="ru.cs_consult.simpledoc.entity.User">
            <fetchPlan extends="_base"/>
            <loader id="usersDl">
...
...

Добрый день!
в коде при создании экрана никакого признака не было:

<data>
    <collection id="employeePositionsesDc"
                class="com.company.kazmetsetka.entity.EmployeePositions">
        <fetchPlan extends="_base"/>
        <loader id="employeePositionsesDl" readOnly="false">
            <query>
                <![CDATA[select e from EmployeePositions e]]>
            </query>
        </loader>
    </collection>
</data>

я попробовал указать прямо значение:

<data readOnly="false">
    <collection id="employeePositionsesDc"
                class="com.company.kazmetsetka.entity.EmployeePositions">
        <fetchPlan extends="_base"/>
        <loader id="employeePositionsesDl" readOnly="false">
            <query>
                <![CDATA[select e from EmployeePositions e]]>
            </query>
        </loader>
    </collection>
</data>

но это ничего не изменило, внесенные изменения не сохраняются.

до этого еще при добавлении компонента editorActionsColumn выходила ошибка на признак редактируемости колонок
<
column property=“name” editable=“true”
/>
после изменения

        <loader id="employeePositionsesDl" readOnly="false">
            <query>
                <![CDATA[select e from EmployeePositions e]]>
            </query>
        </loader>

ошибка исчезла, но изменения данных все равно не сохраняется.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<view xmlns="http://jmix.io/schema/flowui/view"
      xmlns:c="http://jmix.io/schema/flowui/jpql-condition"
      title="msg://employeePositionsListView.title"
      focusComponent="employeePositionsesDataGrid">
    <data readOnly="false">
        <collection id="employeePositionsesDc"
                    class="com.company.kazmetsetka.entity.EmployeePositions">
            <fetchPlan extends="_base"/>
            <loader id="employeePositionsesDl" readOnly="false">
                <query>
                    <![CDATA[select e from EmployeePositions e]]>
                </query>
            </loader>
        </collection>
    </data>
    <facets>
        <dataLoadCoordinator auto="true"/>
        <urlQueryParameters>
            <pagination component="pagination"/>
        </urlQueryParameters>
    </facets>
    <actions>
        <action id="selectAction" type="lookup_select"/>
        <action id="discardAction" type="lookup_discard"/>
    </actions>
    <layout>
        <hbox id="buttonsPanel" classNames="buttons-panel">
            <button id="addButton" icon="vaadin:plus" text="msg://addButton.text"/>
            <simplePagination id="pagination" dataLoader="employeePositionsesDl"/>
        </hbox>
        <dataGrid id="employeePositionsesDataGrid"
                  width="100%"
                  minHeight="20em"
                  dataContainer="employeePositionsesDc"
                  columnReorderingAllowed="true">
            <actions>
            </actions>
            <columns resizable="true">
                <column property="name" editable="true"/>
                <editorActionsColumn width="32em" flexGrow="0">
                    <editButton text="Изменить" icon="PENCIL"/>
                    <saveButton text="Записать" icon="CHECK" themeNames="success"/>
                    <cancelButton text="Отменить" icon="DISC" themeNames="error"/>
                    <closeButton text="Закрыть" icon="CLOSE"/>
                </editorActionsColumn>
            </columns>
        </dataGrid>
        <hbox id="lookupActions" visible="false">
            <button id="selectBtn" action="selectAction"/>
            <button id="discardBtn" action="discardAction"/>
        </hbox>
    </layout>
</view>

Обратите внимание на эту тему: Не отрабатывает сохранение свойства в dataGrid при использовании Inline Editor

К сожалению, в документации в части Inline Editor это не упоминается…

А еще на режим режим редактирования editorBuffered

Надо или установить нужный режим на dataGrid через соответствующий атрибут. Или указывать это в editorActionsColumn:

...
<editorActionsColumn key="bufferedEditorColumn">
    <editButton text="Edit" icon="PENCIL"/>
    <saveButton icon="CHECK" themeNames="success"/>
    <cancelButton icon="CLOSE" themeNames="error"/>
</editorActionsColumn>
...

Добрый день, Андрей!
действительно, вопрос решился этим методом:
Обратите внимание на эту тему: Не отрабатывает сохранение свойства в dataGrid при использовании Inline Editor 1

и да, в документации JMix & Vaadin нигде не нашел, что еще нужно обработчик события создавать…

Большое спасибо Вам за помощь! :raised_hand: