#delphi #count #grid #selection #firemonkey
#delphi #количество #сетка #выбор #firemonkey
Вопрос:
Я использую TMS FireMonkey Grid в своем приложении и в настоящее время пытаюсь реализовать возможность выбора диапазона строк, дважды щелкнув по первой строке, а затем дважды щелкнув по последней строке диапазона. Я использую метод selectRow(startRow, endRow) в обработчике события OnCellDblClick. Кажется, это работает, за исключением одной вещи: RowSelectionCount не устанавливается должным образом (равно 1, независимо от того, сколько строк я выбираю), пока я не вызову ShowMessage () с чем-то случайным, например, «Привет!» — после этого он устанавливается на правильное количество выбранных строк. Я подумал, что это как-то связано с фокусом, поэтому я попытался использовать SetFocus, чтобы переключить фокус на другой компонент формы, а затем обратно на сетку, но это не помогло. Есть идеи о том, как заставить RowSelectionCount сразу передавать правильное значение? Для свойства grid SelectionMode установлено значение smDisjunctRow — согласно электронному письму, которое я получил от службы поддержки TMS, этот параметр должен позволить мне использовать RowSelectionCount. Заранее спасибо!
Комментарии:
1. Что говорят TMS по этому поводу?
2. Единственное, что они сказали мне, это то, что для использования RowSelectionCount мне нужно, чтобы для SelectionMode было установлено значение smDisjunctRow, которое у меня уже есть. Ничего по конкретной проблеме, хотя я объяснил это им — дважды.
3. Обновление: выяснил, что это происходит только тогда, когда в свойствах сетки в разделе Параметры / Редактирование для свойства Enabled установлено значение False. Как только я переключу его на True, функциональность будет такой, как ожидалось. Но мне действительно нужно, чтобы для этого свойства было установлено значение False, поэтому в настоящее время ищу обходной путь.