 |  |
 |  | |  | |
Александр Ткаченко дата публикации 14-02-2002 18:37 Компонент NXDBGrid, позволяющий отображать Dataset в транспонированном виде (столбцы в строках).
Создание копонента было вызвано тем, что пришлось отображать объекты
со множеством свойств, либо константных, либо изменяемых одновременно.
Стандартный ValueEditor не подходил по нескольким причинам:
- невозможно отобразить сразу несколько колонок со значениями.
- неизвестно, насколько хорошо будет передаваться между СОМ-объектами структуры, используемые для хранения значений.
- нет контроля типов
- дополнительная морока при состыковке с таблицами БД
В конце концов выбор пал на TDBGrid.
За основу мы взяли TCustomDBGrid и TCustomGrid.
Класс отнаследован от TCustomGrid, методы TCustomDBGrid были вставлены
простым копированием и дополнены функциональностью.
NXDBGrid дополнен возможностью редактирования Даты\времени (т.к. мы
отнаследователись от TCustomGrid то мы не смогли вставить стандартный
редактор от MS как Inplace, поэтому пришлось написать самим ;-) )
Не смогли добавить дефолтный редактор компонента для DBGrid (по двойному
щелчку мыши).
Не смогли реализовать добавление редакторов и валидаторов (Хотели
использовать паттерн State (состояние) при изменении текущего столбца), но
то ли мы не со всем разобрались, то ли ребята из Борланда замутили ;-)(у
некоторых функций забыли поставить Virtual, некоторые объявлены в приватной
области).
Добавлены проверки типов данных при редактировании.
Скриншоты :
Использование компонента состоит в изменении свойства Transformed
Технология использования компонента у нас простая. Создаем виртуальный
рекордсет, запихиваем в него данные и выполняем присвоение
ADODataset.Recordset = наш рекордсет
Скачать компонент NXDBGrids.Zip (93K)
Автор идеи, технологии и основных моментов - Александр Ткаченко,
реализация - Денис Полеонов
материал предоставлен специально для Королевства Delphi
[TCustomGrid] [TCustomDBGrid] [TDBGrid] [Режим редактирования] [Отображение данных на клиенте] [Отображение списков, сеток]
Обсуждение материала [ 11-03-2015 14:52 ] 12 сообщений |
|
|  |  |  | |
 |  |
Время на сайте: GMT минус 5 часов
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
©
При использовании любых материалов «Королевства Delphi»
необходимо указывать источник информации.
Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются
собственностью их производителей.