Кнопка редактирования DevExtreme DataGrid на имени элемента

У меня есть сетка DevExtreme, в которой появляется всплывающее окно редактирования. В настоящее время все работает, и в последнем столбце есть кнопка редактирования. Я хочу избавиться от этого столбца и вместо этого иметь ссылку на имя объекта, которую вы щелкаете, чтобы открыть форму редактирования. Я нашел, где вы можете настроить кнопки, но не знаю, как мне получить там данные для создания ссылки на имя объекта https://js.devexpress.com/Documentation/Guide/UI_Components/DataGrid/Columns/Column_Edize/Aumn_Column_Column_Columns/Column_E_Types/ >.

Я также попытался использовать событие щелчка в обычном столбце (с использованием шаблона столбца) и имел viewChild для datagrid, но я не мог найти никакого способа открыть форму редактирования.

Я использую в проекте Angular 9.


person dmoore1181    schedule 01.03.2021    source источник


Ответы (1)


Вот документация: https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxDataGrid/Configuration/columns/buttons/.

Демонстрационные примеры настройки столбца команд: https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/CommandColumnCustomization/Angular/Light/

Конструкция выглядит так:

            ["edit", "delete", {
                hint: "Clone",
                icon: "repeat",
                visible: function(e) {
                    return !e.row.isEditing && !isChief(e.row.data.Position);
                },
                onClick: function(e) {
                    var clonedItem = $.extend({}, e.row.data, { ID: ++maxID });

                    employees.splice(e.row.rowIndex, 0, clonedItem);
                    e.component.refresh(true);
                    e.event.preventDefault();
                }
            }]

Вы можете использовать событие onClick для назначения функции или использовать шаблон для создания собственного компонента.

Пример шаблона: https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxDataGrid/Configuration/columns/buttons/#template

person nobody.price    schedule 02.03.2021
comment
К сожалению, это вообще не отвечает на мой вопрос. Я могу получить кнопку редактирования, но если у меня нет доступа к данным, я могу изменить отображаемый текст на основе данных строки. Я могу добавить шаблон, который предоставит мне доступ к данным строки, но тогда у меня нет известного мне способа открыть всплывающее окно редактирования из этого шаблона. - person dmoore1181; 02.03.2021
comment
Вы можете получить идентификатор строки из события кнопки. Затем вы можете обновить данные источника данных на основе идентификатора и обновить сетку данных. - person nobody.price; 03.03.2021