На этом шаге мы рассмотрим компонент TRxMemoryData.
Компонент TRxMemoryData (рис.1) представляет собой таблицу в памяти (RAM), которая может быть использована как обычный набор данных (dataset) в Delphi. Этот компонент (в отличие от TMemoryTable) не использует доступ к данным через BDE и может быть использован с любыми data-aware элементами управления Delphi VCL.
Все записи таблицы сохраняются в памяти и уничтожаются при закрытии таблицы.
Структуры таблицы можно задать в дизайнере Delphi с помощью редактора компонента "Fields Editor", или скопировать из другого набора данных в run-time с помощью метода CopyStructure.
Рис.1. Компонент TRxMemoryData (не визуальный)
Рассмотрим свойства компонента TRxMemoryData.
Свойство | Описание |
---|---|
function LoadFromDataSet (Source: TDataSet; RecordCount: Integer; Mode: TLoadMode): Integer; | Метод позволяет скопировать записи из другого набора данных в таблицу в памяти. Поддерживаются два возможных режима, задаваемого параметром Mode - lmCopy (в этом случае все сущствующие записи удаляются и копируется также структура исходного набора данных) и lmAppend. Параметр RecordCount задает максимальное число добавляемых записей. Если RecordCount=0, то копируются все записи. Метод возвращает число скопированных записей. |
procedure SortOnFields (const FieldNames: string; CaseInsensitive, Descending: Boolean); | Метод сортирует данные в таблице в памяти в порядке возрастания или убывания (в зависимости от параметра Descending) значений полей, имена которых переданы в качестве параметра FieldNames. Для строковых полей сортировка может осуществляться с учетом или без учета регистра символов в зависимости от параметра CaseInsensitive. Если осуществляется сортировка по нескольким полям, то их имена разделяются точкой с запятой (;). |
function IsEmpty : Boolean; | Проверяем таблицу: пустая или нет. |
procedure CopyStructure (ASource: TDataSet); | Метод позволяет скопировать структуру любого набора данных ASource в компоненту TMemoryTable или TRxMemoryData. После вызова метода CopyStructure для активизации таблицы в памяти вызовите метод Open или присвойте Active := True. |
На следующем шаге мы рассмотрим компонент TRxDBGrid.