Руководство разработчика


Скачать 0.58 Mb.
Название Руководство разработчика
страница 4/20
Тип Руководство
rykovodstvo.ru > Руководство эксплуатация > Руководство
1   2   3   4   5   6   7   8   9   ...   20

Использование компоненты TDBGridEh

Общие понятия о TDBGridEh, TDataLink и TDataSet.


Следующий раздел распространяется как на компонент TDBGridEh так и на TDBGrid.

Компонент TDBGridEh позволяет отображать и редактировать записи наборов данных в виде таблицы.

TDBGridEh не хранит данные в себе, он только отображает данные набора данных TDataSet через объект TDataLink. Каждый компонент для связи с данными TDataSet'а имеет внутренний объект TDataLink. Вы можете подключить TDBGridEh к dataset'у используя свойство DataSource. Если вы уже использовали компонент TStringGrid, то могли заметить что данные, отображаемые в TStringGrid и в TDBGridEh очень похожи, но механизмы, которые используются для отображения данных в  TStringGrid и в TDBGridEh абсолютно разные. В TStringGrid общее количество строк сетки равно количеству в массиве строк данных, тогда как в TDBGridEh (и TDBGrid) число строк всегда не больше чем числа видимых строк. И хотя вертикальный scrollbar может отображать позицию относительно общего числа записей в dataset'е, он берет данные о позиции не из массива ячеек grid'а, а непосредственно из dataset'а (DataSet.RecNo). TDataSet не позволяет нам работать с данными как с массивом данных, напр. мы не можем быстро получить значение поля некой записи. Кроме того, некоторые типы dataset'ов не имеют понятия номера записи (DataSet.RecNo). В таких dataset'ах мы можем только знать, когда мы находимся в начале либо конце dataset'а либо где-то между ними и в этом случае DBGrid показывает вертикальный scrollbar только в 3 позициях (В TDBGridEh для работы с такими датасетами надо активизировать объект SumList). Для получения возможности отображения нескольких записей одновременно, объект TDataLink использует буфер записей (record buffer window) с быстрым доступом только для чтения. DBGrid использует эту возможность datalink'а и устанавливает размер record buffer window равный количеству возможных видимых строк grid'а. DataLink не позволяет определять с какой записи в DataSet'е, заполняется этот буфере. DataLink сам прокручивает содержимое record buffer window когда мы перемещаемся по dataset'у (Next, Prior) таким образом, чтобы активная запись всегда оставалась внутри record buffer window. В этом причина, почему активная запись меняет позицию, когда пользователи изменяют позицию scrollbar'а при помощи мыши.

TDBGridEh и вертикальный scrollbar.


При работе разными типами dataset'ов можно обратить внимание, что для одних типов dataset'ов DBGrid отображает вертикальный scrollbar правильно, а для других имеет только 3 позиции независимо от числа записей в dataset'е. Для согласования scrollbar'а DBGrid использует свойства RecordCount и RecNo компонента DataSet. Некоторые dataset'ы и даже некоторые dataset'ы при определенных условиях возвращают -1 в качестве значения  RecordCount и RecNo. Функция DataSet IsSequenced показывает, использует ли таблица базы данных номера записей для отображения порядка записей. Когда IsSequenced возвращает True приложения могут использовать свойство RecNo для перемещения по записям dataset'а и DBGrid использует свойство RecNo для отображения положения ползунка на вертикальном scrollbar'е. Но когда IsSequenced возвращает False, DBGrid не может определить позицию текущей записи и отображает ползунок scrollbar'а в 3-х позициях. Компонент DBGridEh имеет возможность показывать пропорциональный scrollbar даже для неупорядоченных dataset'ов. Для этого нужно активизировать свойство SumList. Установите SumList.Active в True и SumList.VirtualRecords в True. SumList создаст список bookmar'ов записей. Если вы используете технологию клиент-сервер для доступа к базе данных, SumList вынудит dataset вернуть все записи, и эта операция займет некоторое время. Обратите внимание, что VirtualRecords будут работать только с full relationship bookmarks, т.е. DataSet.ComapreBookmark должен возвращать > 0 если bookmark1 > bookmark2 (т.е. запись, на которую указывает bookmark1 идет после записи, на которую указывает bookmark2), = 0 если bookmark1 = bookmark2, < 0 если bookmark1< bookmark2. TBDEDataSet в большинстве случаев поддерживает full relationship bookmarks.
1   2   3   4   5   6   7   8   9   ...   20

Похожие:

Руководство разработчика icon Руководство пользователя разработчика информационных систем
Список зарезервированных имён пользовательских свойств информационной сущности 21
Руководство разработчика icon Руководство пользователя разработчика информационных систем
Виды деятельности, функции, для автоматизации которых предназначены виджеты wwii 15
Руководство разработчика icon Руководство пользователя разработчика информационных систем
Виды деятельности, функции, для автоматизации которых предназначена программная платформа 7
Руководство разработчика icon Руководство разработчика Компания «аист»
Разработка системы управления сайтами NetCat: П. Филатов, Д. Спирин, К. Трунов, В. Мельников, И. Завойчинский, К. Заугольнов, Д....
Руководство разработчика icon Руководство разработчика Компания «аист»
Разработка системы управления сайтами NetCat: П. Филатов, Д. Спирин, К. Трунов, В. Мельников, И. Завойчинский, К. Заугольнов, Д....
Руководство разработчика icon Руководство разработчика
Описания системных служб, возможностей интеграции и управления основным функционалом, api для разработчиков дополнительных плагинов...
Руководство разработчика icon Руководство пользователя разработчика информационных систем
Информационная система. Система обеспечивающая автоматизацию бизнес-процессов отдельного подразделения/департамента организации
Руководство разработчика icon Руководство разработчика лкп 501540. 001. 58169198-08-01 34 01 Листов...
Приложение А: Спецификация механизмов, реализованных в криптопровайдере Lirjce 40
Руководство разработчика icon Руководство разработчика Интеграл
Документ ознакомит читателя с возможностями конструктора Интеграл, а также научит разрабатывать полноценные web–приложения под произвольные...
Руководство разработчика icon Руководство разработчика Интеграл
Документ ознакомит читателя с возможностями конструктора Интеграл, а также научит разрабатывать полноценные web–приложения под произвольные...
Руководство разработчика icon Руководство разработчика Интеграл
Документ ознакомит читателя с возможностями конструктора Интеграл, а также научит разрабатывать полноценные web–приложения под произвольные...
Руководство разработчика icon Руководство пользователя (разработчика программы учебной дисциплины) по работе в модуле «пуд»
Почему модуль «пуд» является удобным средством разработки программ учебных дисцилин? 4
Руководство разработчика icon Руководство разработчика для интеграции с lanbillingSuperviseServer
Основная цель данного документа – предоставить внешним разработчикам возможность реализации и интеграции с lanbilling Supervise Server...
Руководство разработчика icon Руководство разработчика сервиса
Номер абонента или 11 символов латиницы. Данные текст или номер будет указан в поле отправителя sms
Руководство разработчика icon Руководство разработчика Компания «аист»
Право на тиражирование программных компонентов и документации принадлежит компании «аист». Приобретая систему NetCat, вы автоматически...
Руководство разработчика icon Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin Лабораторный...
Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin: Лабораторный практикум по дисциплине «Сети ЭВМ и телекоммуникации»...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск