Выделите Delphi TwwDBGrid Cell - PullRequest
       5

Выделите Delphi TwwDBGrid Cell

0 голосов
/ 04 марта 2011

У меня есть программа, которую колл-центр использует, чтобы вести телефонных агентов через сценарий и собирать информацию. Столбец 1 («Вопрос») - это текстовый блок, который определяет, какие данные должны быть собраны («Имя», «Телефон», «Адрес» и т. Д.), Столбец 2 («Ответ») - это текстовое поле произвольной формы для ввод информации.

Каждая строка в этой сетке связана со сценарием, который агенты должны прочитать: «Спасибо, что позвонили, можно мне ваше имя, пожалуйста?», И ответ на это будет помещен в столбец «Ответ». Есть от 10 до 25 строк в зависимости от того, кто звонит, и иногда агенту приходится переходить из строки в строку в зависимости от того, как происходит вызов (т. Е. Вызывающий абонент может не захотеть предоставлять всю свою информацию, пока не узнает цену услуги).

Что я хотел бы сделать, так это выделить каждую ячейку в столбце «Ответ», чтобы указать, что агент еще НЕ посетил это поле (и не читал сценарий, связанный с этой строкой). Как только агент нажимает на ячейку «ответа», я хочу, чтобы подсветка исчезла и у нее был стандартный цвет фона.

Кто-нибудь знает, как мне это сделать? Я не вижу события OnCellClick, которое можно вызвать, чтобы изменить цвет ячейки.

EDIT:
Я использую Delphi 2005, и я ошибся в том, что я использую для сетки. Я на самом деле использую Infopower TwwDBGrid, и событие OnCellClick отсутствует.

Ответы [ 2 ]

0 голосов
/ 05 марта 2011

TwwDBGrid поддерживает события OnColEnter и OnCelExit.Он также имеет событие OnRowChanged для обнаружения прокрутки к другой записи.Таким образом, ответ jachguate все еще действителен.

0 голосов
/ 04 марта 2011

Редактировать : Этот ответ был написан, когда в вопросе указана TDBGrid, а не TwwDBGrid, как сейчас, ясно, что ответ для этого класса неправильный.


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

Для отслеживания "посещенных" полей вы можете положиться на событие OnColEnter и установить флаг для этой конкретной части скрипта.

Затемположитесь на OnDrawColumnCell, чтобы закрасить фон каждой ячейки в столбце response в соответствии со связанными VisitedFlag , , выделив еще не посещенных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...