![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.12.2009
Сообщений: 23
|
![]()
Добрый день, уважаемые форумчане.
К сожалению не смогу коротко объяснить суть задачки, поэтому "не буду краток" ![]() 1. Имеется ДБГреед, в котором отображаются данные из запроса. 2. В ячейках одного столбца рисуется ЧекБокс. 3. При первом кликании по ЧекБоксу ставится/убирается крыжик. 3.1. Соответственно , фокус остается в этой ячейке 3.2. В БД записывается значение 3.3. Все работете прекрасно 4. При втором крикании по этому же ЧекБоксу 4.1. Квадратик ЧекБокса исчезает 4.2. Появляется поле (видимо, в режиме FocusControl) 4.3. В этом поле мигает курсор, значение поля выделено синим (видимо в фокусе) Так вот, проблема в пункте 4. Иными словами, при повторном кликании по ЧекБоксу все должно проходить как в пункте 3. Пытался решить задачку следующими путями: 1. Решил убрать фокус из ДБГрееда на другой компонент. 1.1. Фокус убирается, 1.2. Однако проблема не решается. 2. Решил пременить FocusControl 2.1. После кликания по ЧекБоксу перенес этот FocusControl на соседнюю ячейку 2.2. Проблема решается 2.3. Возникает другая, юзер может по ошибке удалить данные из соседней ячейки. Сдается мне, что я пытаюсь бороться со следствием проблемы. Вызвано это тем, что я не понимаю сущности происходящих процессов при кликании по ячейке ДБГрееда. Может кто просветит? Мне , наверное , нужна функция обратная FocusControl. Есть таковая? Последний раз редактировалось KaimNotark; 17.02.2010 в 06:05. Причина: мысль пришедая позднее... |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А поставить для ДбГрида ReadOnly не пробовал или задача того не желает?
И кстати в его Options поставить нужные в False чтоб нельзя было редактировать.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.12.2009
Сообщений: 23
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 10.12.2009
Сообщений: 23
|
![]() Цитата:
Я же, не зная и не понимая что такое "ListSelect", пошел другим путем – см. ниже код_2. Видимо, выбрал не ту "дорожку". Прошу, если не трудно, объяснить что такое "ListSelect" и как он работает, т.к. хотелось бы писать прогу осознанно. В код_1 попытался понять самостоятельно. Результатами этой попытки явились ремарки к коду. Почитайте их, и если мое понимание не верно – исправьте комментарии. код_1: Код:
Код:
|
|
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
ListSelect, это объект класса TList, использующийся для динамического списка. В приведенном тобой коде_1 он используется для хранения м.м.м... видимо номеров (по уникальному ключу) записей, которые ну похоже были выделены.
т.е. если запись выделяется - ее номер помещается в список, а если выделение снимается - то из списка удаляется.
I'm learning to live...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как убрать фокус со StringGrid? | TwiX | Общие вопросы Delphi | 2 | 25.08.2009 01:32 |
Как убрать фокус с TrackBar?????? | NBSTUDIO | Общие вопросы Delphi | 1 | 11.08.2009 16:24 |
Убрать лишнее из ячейки. | `Dmitry | Microsoft Office Excel | 8 | 24.03.2009 19:07 |
Убрать фокус со всех компонентов ? | chandrasecar | Общие вопросы Delphi | 5 | 21.12.2008 00:56 |
Как разделить число и текст в одной ячейки на две ячейки. | neboskreb | Microsoft Office Excel | 2 | 15.04.2008 19:39 |