Я использую devextreme-реакции. Мне нужно сделать некоторые ячейки вставляемыми (новые строки), но не редактируемыми (существующие строки), но в конфигурации предусмотрены только параметры allowEditing, которые не различают вставку новых записей или редактирование существующих.
Я попытался предоставить каждой ячейке пользовательские параметры «вставляемый» и «редактируемый», чтобы сделать ячейку редактируемой отдельно в другом контексте (только вставляемая, только редактируемая, в обоих контекстах).
Тогда я попробовал два подхода:
- onFocusedCellChanged Я бы закрыл активный редактор, когда он не нужен
- установите для параметра allowEditing значение false для всех ячеек и включите редактор onFocusedCellChanged только при необходимости, используя метод datagrid editCell (rowIndex, visibleColumnIndex).
Вот пример первого подхода:
![Edit n9o67znjrp](https://codesandbox.io/static/img/play-codesandbox.svg)
Как видите, есть некоторые проблемы:
- автофокус на первом редактируемом поле не срабатывает onFocusedCellChanged
- Мне не хватает способа понять, является ли строка новой или нет, просто пытаюсь определить, является ли ключевое поле неопределенным или ноль не работает
- closeEditCell не закрывает редактор
Также использование второго подхода фокусировки не всегда срабатывает, и включение вручную редактора ничего не делает