Как активировать редактор на месте для ячейки сетки, которая отображается как индикатор выполнения?

Одна из ячеек в моем DBTreeListView привязана к элементу репозитория, который является индикатором выполнения.

Я хочу, чтобы можно было отредактировать прогресс, щелкнув по этой ячейке. На этом этапе мое приложение должно изменить свою ячейку на другой элемент репозитория: текстовое поле, где я смогу вставить значение. После того, как фокус будет изменен на другую ячейку, моя индикатор выполнения снова будет отображаться, показывая новое значение. Как это сделать?

DBTreeListView имеет события столбца OnGetEditingProperty и OnGetEditProperties. Я, вероятно, использую один (или оба) из них, но не могу придумать какую-либо хорошую идею.

Ответ 1

Это может быть просто. Вы должны обработать щелчок по этому индикатору выполнения и отобразить над ним редактор. Вам нужно обработать прокрутку и щелкнуть в другом месте, чтобы избавиться от редактора. И в случае, если прокрутка слишком далеко - редактор должен быть скрыт.

Шаги:

  • Создайте скрытый редактор для прогресса
  • Ручка OnClick для элемента представления дерева
  • Показать редактор и установить фокус
  • В редакторе введите (или вкладку) сохранение информации о ходе работы
  • При щелчке по форме или другой части древовидного представления - скрыть редактор (сохранение/отмена изменений, как указано в вашей политике)
  • В дереве дерева прокрутки переместите редактор, и когда границы родителя не пересекаются с границами редактора - скройте его

С уважением, Владимир