Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

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

 
Hose   (2003-09-26 10:36) [0]

Есть некая табличка, которая имеет атрибут "RO". Надо чтоб пользователь мог пометить записи в сетке "ПТИЧКОЙ" (ну не хочет заказчик пользоваться мультиселектом). Первое, что приходит в голову, это создать в наборе поле, в котором и хранить признак записи помечена/непомечена и нормально отображать все это в сетках и прочих компонентах. Но мои попытки реализации сего алгоритма не увенчались пока успехом.
Я вот точно помню, что подобное здесь уже пробегало когда-то. Не могу найти. :(( Прошу ткнуть меня носом в описание требуемого мне решения или просто подскажите с какой стороны грамотнее зайти. До сих пор я пытаюсь решить проблему разработкой собственного наследника TField.

Спасибо.


 
Nikolay M. ©   (2003-09-26 10:58) [1]

Тупое, не самое красивое решение:
создаешь Calculated-поле, которое будет принимать значение True, если ID присутствует в некотором вспомогательном массиве (SelectedIDs : array of integer), или False, если его там нет.
В DBGrid ловишь OnDblClick, проверяешь SelectedIDs на наличие в нем текущей записи и делаешь ВычислимоеПоле := not ВычислимоеПоле и добавляешь или удаляешь ID из этого массива. Ну, а о том, как нарисовать в DBGrid вместо True/False стандартную виндовую галочку, писалось не один раз...


 
Mike Kouzmine ©   (2003-09-26 11:12) [2]

А ты поставь р/о на уровне полей, а не таблицы, а птичку сделай не р/о.



Страницы: 1 вся ветка

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-51296
malamba
2003-10-06 15:11
2003.10.16
перезагрузка своего компонента


3-51139
Zn
2003-09-24 17:55
2003.10.16
Как подключиться к удалённому InterBase-серверу


1-51246
Tornado
2003-10-03 14:35
2003.10.16
Вопрос по работе с реестром


14-51444
Rbc
2003-09-28 13:38
2003.10.16
TFT Мониторы


1-51305
HarryP
2003-10-06 13:15
2003.10.16
array of byte -> longword Чето туплю