рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Компонент TDataDriverEh.

Компонент TDataDriverEh. - раздел Программирование, Библиотека компонент EhLib - Руководство разработчика Tdatadrivereh - Это Поставщик Данных В Tmemtableeh И Обработчик Изменений От ...

TDataDriverEh - это поставщик данных в TMemTableEh и обработчик изменений от TMemTableEh. TDataDriverEh это простейший поставщик данных, он является посредником между TMemTableEh и другим DataSet’ом, который умеет работать с базой данных. Хотя многие датасеты могут быть подключены к DBGrid’ напрямую, минуя TMemTableEh, связку (DBGridEh-DataSource-MemTableEh-DataDriverEh-DataSet), данную связку можно использовать если вы хоти иметь преимущества работы DBGridEh в связки с MemTableEh такие как ViewScroll режим, древовидные отображение данных, использование общих данных несколькими компонентами MemTableEh.

В режиме поставщика TDataDriverEh берет данные DataSet'а, определенного свойством ProviderDataSet и копирует их в TMemTableEh. Перед получением первой записи MemTableEh запрашивает у TDataDriverEh структуру полей таблицы и на основе их создает структуру внутреннего массива записей. TDataDriverEh формирует структуру полей на основе списка полей ProviderDataSet’а. Далее по мере требования TDataDriverEh берет значения текущей записи, записывает их TMemTableEh и переходит к следующей записи. Кроме того, TDataDriverEh может обновить значения уже записанной в TMemTableEh записи из ProviderDataSet’а (TMemTableEh.RefreshRecord). TDataDriverEh находит запись в ProviderDataSet'е, используя свойство KeyFields, и переписывает значения полей в запись TMemTableEh. В режиме обработчика изменений, он принимает измененную запись от TMemTableEh, используя свойство KeyFields, находит ее положение в ProviderDataSet, обновляет запись в ProviderDataSet'е, повторно запрашивает ее из ProviderDataSet'а и возвращает запрошенную запись обратно в TMemTableEh.

Используя события TDataDriverEh'а можно контролировать пересылаемые данные между TDataDriverEh'ом и TMemTableEh'ом, а также передавать и обрабатывать изменения из любого другого источника данных отличного от ProviderDataSet'а.

TDataDriverEh содержит следующие события:

OnBuildDataStruct – пишите обработчик этого события, чтобы создать структуру создаваемых данных в TMemTableEh перед принятием первых записей. В событии можно вызвать процедуру TDataDriverEh.DafaultBuildDataStruct для создания структуры по умолчанию.

OnProduceDataReader - пишите обработчик этого события, чтобы переопределить датасет-поставщик данных. Если это событие не присвоено, то поставщиком данных станет ProviderDataSet. В событии можно вызвать процедуру TDataDriverEh.DefaultProduceDataReader чтобы определить датасет-поставщик по умолчанию.

OnReadRecord - пишите обработчик этого события, чтобы присвоить значения полей новой поставляемой TMemTableEh'у записи или указать, что данных больше нет. В событии можно вызвать процедуру TDataDriverEh.DefaultReadRecord чтобы присвоить значения полей по умолчанию.

OnAssignFieldValue - пишите обработчик этого события, чтобы присвоить значение конкретного поля новой поставляемой TMemTableEh'у записи или для обновления записи. Используйте DataValueVersion для определения режима запрашиваемой записи: dvvValueEh – при присваивании новой записи, dvvRefreshValue – при обновлении значений существующей. В событии можно вызвать процедуру TDataDriverEh.DefaultAssignFieldValue чтобы присвоить значение поля по умолчанию.

OnRefreshRecord - пишите обработчик этого события, чтобы присвоить свежие значения полей при обновлении записи с сервера. В событии можно вызвать процедуру TDataDriverEh.DefaultRefreshRecord чтобы присвоить свежие значения по умолчанию.

OnUpdateRecord - пишите обработчик этого события, чтобы обработать измененную в TMemTableEh'е запись. Используйте MemRec.UpdateStatus для определения типа изменения: Изменение, Удаление или Добавление. В событии можно вызвать процедуру TDataDriverEh.DefaultUpdateRecord для обработки измененной записи по умолчанию. По умолчанию DataDriver проводит изменения в ProviderDataSet.

OnUpdateError - пишите обработчик этого события, чтобы выполнить определенные действия при возникновении ошибки обработки измененной записи. При возникновении ошибки возможна следующая реакция:

ueaBreakAbortEh Прервать эту и все последующие операции изменения, исключение не вызывать.

ueaBreakRaiseEh Прервать эту и все последующие операции изменения, откатить транзакцию, вызвать исключение об ошибке.

ueaCountinueEh Игнорировать ошибку, не менять статус изменения записи и продолжить выполнение остальных изменений.

ueaRetryEh Повторить операцию (Вы должны предпринять какие либо действия для предотвращения этой ошибки при повторной операции).

ueaCountinueSkip Игнорировать ошибку, выставить у записи статус Unchanged или удалить в случае статуса usDelete и продолжить выполнение остальных изменений.

 

В событии можно вызвать процедуру TDataDriverEh.DefaultUpdateError чтобы выполнить действия по умолчанию.


 

– Конец работы –

Эта тема принадлежит разделу:

Библиотека компонент EhLib - Руководство разработчика

На сайте allrefs.net читайте: "Библиотека компонент EhLib - Руководство разработчика"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Компонент TDataDriverEh.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Редакция: 1.52
(Изменения и дополнения по сравнению с редакцией 1.5 отчечена красным цветом) Оглавление Введение. 4 Установка. 8 Распаков

Объект TPrinterPreview
Объект TPrinterPreview (невизуальный) позволяет записывать данные для печати в буфер для последующего вывода их на экран либо на принтер. TPrinterPreview имеет все функции и свойства объекта TPrint

TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh Использование TPropStorageEh
Компоненты реализуют технологию сохранения свойств компонент формы в/из хранилища, такого как, например, ini-файл или реестр.   TMemTableEh

Распаковкаархива
Распакуйте архив EhLib. После распаковки вы получите следующие папки: Папки 'EhLib - source include' версии: BCB4 Содержит фа

Наиболее часто встречающиеся проблемы при инсталляции и методы их решения.
Проблема: Решение: Во время компиляции Delphi выдает следующую ошибку: "Unit AAA compiled with different version of unit BBB"

Использование компоненты TDBGridEh
Общие понятия о TDBGridEh, TDataLink и TDataSet. Следующий раздел распространяется как на компонент TDBGridEh так и на TDBGrid. Компонент TDBGrid

Работа с TDBGridEh в режиме разработки.
TDBGridEh состоит из строк и столбцов. Каждая строка это запись TDataSet’а. Каждый столбец это поле TDataS

Панель детальной информации для записи – RowDetailPanel.
Подствойства свойства RowDetailPanel позволяют вам создавать и настраивать панель детальной информации для

Published
Active: Boolean; позволяет активизоровать панель детальной информации. При активизации панели, напротив каждой записи появляется значок '+', нажимая на которую можно раскрывать/скрывать панель дета

Режим RowPanel
Грид поддерживает режим, когда ячейки записи грида могут быть расположены друг под другом и иметь индивиду

Работа в режиме группировки данных.
Грид позвлояет группировать данные в памяти используя столбцы как критерии группировки. Группиров

TDBGridEh и вертикальный scrollbar.
При работе разными типами dataset'ов можно обратить внимание, что для одних типов dataset'ов DBGrid отображает вертикальный scrollbar правильно, а для других имеет только 3 позиции независимо от чи

Комплексные заголовки.
TDBGridEh позволяет создавать заголововок над несколькими столбцами. See Figure: Для этого надо установить свойство DBGridEh.UseMultiTitle в True и заполнить заголовки полей (TFie

Колонтитулы и итоговые значения.
TDBGridEh позволяет отображать специальную строку (колонтитул) либо строки в нижней части grid'а. Используйте свойство FooterRowCount для определения числа строк колонтитулов в grid'е и свойства Fo

Отображение картинок в ячейках данных, в зависимости от значений полей.
TDBGridEh позволяет отображать картинки из компонента TImageList, в зависимости от значений полей. Для этого нужно заполнить список значений полей в свойстве Column.KeyList (каждое значение в отдел

Индивидуальная высота каждой записи.
TDBGridEh может работать в режиме, когда он автоматически выставляет высоту каждой строки в зависимости от количества текста в ячейке или размера графического изображения (Если включен режим DrawGr

События для изменения настроек шрифта, цвета и других парамерок каждой ячейки.
Ниже перечислен список событий, которые вы можете использовать для настройки атрибутов шрифта и цвета ячейки перед тем, как данные будут напечатаны. В момент вызова всех нижеперечисленных событий D

Значения по умолчанию для свойств столбцов.
Для установки значений по умолчанию для свойств столбцов используйте свойство TDBGridEh.ColumnDefValues. Вновь создаваемые столбцы получат свойства из ColumnDefValues и будут хранить их до первого

Столбец с простыми lookup-значениями.
Вы можете отображать в столбце другой текст, зависящий от значения поля. Используйте свойства KeyList и PickList. KeyList содержит значения, которые сохраняются в поле, а PickList - в соответствующ

Цвет и фонт текстового редактора по месту.
Редактор получает цвет и фонт из цвета и фонта ячейки. Ячейка получает цвет и фонт из столбца и в событии OnGetCellParams. Редактор автоматически устанавливает многострочный режим если высота строк

Инкрементный поиск
TDBGridEh позволяет пользователям совершать специальный "инкрементный" поиск в столбце grid'а. Когда пользователь входит в режим инкрементного поиска, он может набирать символы и grid буд

Множественный выбор.
TDBGridEh позволяет выбирать записи, столбцы и прямоугольные области для последующих операций над выделенной областью. Для включения возможности множественного выбора установите следующие свойства:

Сохранение и восстановление макета сетки и колонок в/из реестра либо ini-файл.
В TDBGridEh есть набор методов для сохранения и восстановления макета сетки и колонок в/из реестра либо ini-файл: RestoreColumnsLayout - Восстановление порядка следования столбцов, ширины

Мастер/дитэил отношения.
Мастер/дитэил отношение – это режим работы двух датасетов при котором все видимые записи одного датасета (DetailDataSet) всегда соответствуют одной записи другого датасета (MasterDataSet). При движ

Режим хранения записей в виде дерева (TreeView).
В режиме дерева TMemTableEh создает объекты-узлы (типа TMemRecViewEh) для каждой записи внутреннего массива записей. Объект-узел имеет ссылку на запись (свойство Rec) и ссылку на список подузлов (N

Работа с полями типа AutoIncrement
TMemTableEh имеет объект AutoIncrement со свойствами InitValue и Step для работы с полями у которых значения генерируется автоматической последовательностью чисел. У таких полей свойство TFIeld. Au

Использование общих данных несколькими датасетами.
TMemTableEh позволяет использовать общий табличный массив записей несколькими компонентами TMemTableEh. При этом один из компонентов TMemTableEh является владельцем массива, а другие подключаются к

Сортировка данных.
TMemTableEh имеет два метода сортировки данных: Сортировка с динамической поддержкой изменений, когда добавляемая запись автоматически вставляется в нужную позицию чтобы сохранить порядок сортировк

Создание/удаление таблиц в памяти в режиме ‘stand-alone’.
MemTableEh позволяет создавать внутренний массив записей в режиме Design-time и в режиме Run-time. Прежде, чем создавать массив, Вы должны задать свойства компонента, для определения структуры поле

Работа с компонентом в режиме ‘with datadriver’.
Режим ‘with datadriver’ работает, когда присвоено свойство TMemTableEh.DataDriver. При активизации датасета внутренний массив данных создается автоматически при активизации MemTableEh’а. Структура

Отложенные обновления (CachedUpdates).
TMemTableEh может работать в режиме оперативных или отложенных обновлений. Режим обновления определяет, когда будет посылаться информация об измененных записях в компонент TDataDriverEh (при этом T

Поиск в TMemTableEh
Вы можете осуществлять поиск в TMemTableEh используя следующие методы:   Locate Метод locate перемещает курсор на первую строку, удовлетв

With CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver','P']), loPartialKey);   Locate использует самый быстрый из возможных методов поиска. Если столбцы в поиске проиндекс

Быстрый доступ к значениям записи.
Для доступа к значениям полей конкретной записи в стандартном DataSet’е необходимо вначале перейти на нужную запись. Это не всегда удобно т.к. переход на запись методами MoveBy, RecNo, Bookmark акт

Внутренние объекты компонента TMemTableEh.
В большинстве случаев для работы с данными вам TMemTableEh вам будет достаточно свойств и методов самого компонента. Однако в некоторых случаях необходимо иметь возможность обработки данных на боле

Работа с TMemTableEh в период разработки.
В период разработки двойной щелчок на компоненте открывает окно управлением компонентом – TMemTableFieldsEditor. В нем можно: Создавать поля (компоненты TField) для TMemTableEh. З

Компонент TSQLDataDriverEh.
TSQLDataDriverEh это универсальный драйвер обработки данных, взаимодействующих с сервером посредствам языка SQL. TSQLDataDriverEh содержит пять объектов типа TSQLCommandEh: SelectCommand, DeleteCom

Свойство TXXXDataDriverEh.SpecParams.
Cвойство SpecParams содержит список параметров и значений. TXXXDataDriverEh используют их при выполнении SQL выражений. Значение каждого параметра должно храниться в отдельной строке в формате ‘ИМЯ

Динамическое формирование SQL выражений при обновлении данных.
TSQLDataDriverEh позволяет формировать Insert, Update и Delete выражения динамически перед посылкой запроса на сервер. Это полезно когда таблица содержит много записей а изменения были только в нес

TSQLDataDriverEh или TXXXDataDriverEh, что выбрать для работы.
Как TSQLDataDriverEh так и один из компонентов TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh и TADODataDriverEh (будем в дальнейшем называть их TXXXDataDriverEh) позволяют работать с БД без

Работа с TSQLDataDriverEh и TXXXDataDriverEh в период разработки.
Двойной щелчок на компоненте TSQLDataDriverEh и TXXXDataDriverEh открывает окно диалога редактирования TSQLDataEditWin. В период разработки TSQLDataDriverEh или TXXXDataDriverEh независимо от того

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги