В ag-grid, можно ли остановить нажатие строки (в том числе, чтобы не выделять строку синим цветом), чтобы оно происходило динамически в зависимости от состояния или пропуска в реагировать? - PullRequest
0 голосов
/ 22 октября 2018

Сценарий: когда пользователь пытается отредактировать строку и в то же время, если он выбирает другую строку, должен появиться диалоговое окно с предупреждением о том, что «Если вы продолжите, текущие изменения будут потеряны» с двумя кнопками, т. Е. Перейти назад иХОРОШО.Здесь мы должны разрешить выбор только тогда, когда пользователь нажимает кнопку ОК, иначе предыдущий выбор (отредактированная строка) должен учитываться.

Вопрос: Я согласен, что это проблема реализации, но Ag-grid предоставляет какое-либо гибкое решение для остановкивыбор, пока пользователь не подтвердит.

Области, которые я исследовал: 1. Я исследовал функцию isRowSelectable, она в основном выполняется во время инициализации и останавливает сам выбор.Но в моем сценарии мне нужно остановить выбор строки на основе какого-либо состояния / реквизита в ReactionJS ( не на основе данных строки ) 2. Также попытался подавить rowClickSelection в событиях rowClicked и cellClicked, он прекращает запуск события selectionChangedно все же я вижу, что строка выделена синим цветом.

Может кто-нибудь предложить лучшее решение этой проблемы?

1 Ответ

0 голосов
/ 22 октября 2018

[suppressRowClickSelection] = true останавливает выделение строк. Установите это и обработайте выбор самостоятельно.Когда строка выбирает, задайте другой стиль фона, а затем вы можете контролировать, когда он включается или выключается (добавьте скрытый столбец к вашим данным, чтобы «пометить» стиль).

Если пользователь ограниченодна строка имеет такое значение, затем делает сетку недоступной для редактирования, и при фокусировке ячейки откройте диалоговое окно с вашими ключевыми данными, а затем, когда они закончат, обновите строку вручную.Эту строку они не могли покинуть, не имея дело с диалоговым окном.

Другие альтернативы могут включать не беспокойство о их перемещении, а выделение ячеек, которые недействительны, если пользователь начал редактирование (но не завершил надлежащим образом редактирование) и удалил его.

...