![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как пометить записи в наборе только для чтения? [D6]
Hose © (2003-09-26 10:36:00)
Есть некая табличка, которая имеет атрибут "RO". Надо чтоб пользователь мог пометить записи в сетке "ПТИЧКОЙ" (ну не хочет заказчик пользоваться мультиселектом). Первое, что приходит в голову, это создать в наборе поле, в котором и хранить признак записи помечена/непомечена и нормально отображать все это в сетках и прочих компонентах. Но мои попытки реализации сего алгоритма не увенчались пока успехом.
Я вот точно помню, что подобное здесь уже пробегало когда-то. Не могу найти. :(( Прошу ткнуть меня носом в описание требуемого мне решения или просто подскажите с какой стороны грамотнее зайти. До сих пор я пытаюсь решить проблему разработкой собственного наследника TField.
Спасибо.
Mike Kouzmine (2003-09-26 11:12:00) [1]
А ты поставь р/о на уровне полей, а не таблицы, а птичку сделай не р/о.
Nikolay M. (2003-09-26 10:58:00) [2]
Тупое, не самое красивое решение:
создаешь Calculated-поле, которое будет принимать значение True, если ID присутствует в некотором вспомогательном массиве (SelectedIDs : array of integer), или False, если его там нет.
В DBGrid ловишь OnDblClick, проверяешь SelectedIDs на наличие в нем текущей записи и делаешь ВычислимоеПоле := not ВычислимоеПоле и добавляешь или удаляешь ID из этого массива. Ну, а о том, как нарисовать в DBGrid вместо True/False стандартную виндовую галочку, писалось не один раз...