TRxMemoryData Component
Unit
RxMemDS
Description (Описание)
Компонента TRxMemoryData представляет собой
таблицу в памяти (RAM), которая может быть использована как обычный набор данных
(dataset) в Delphi. Эта компонента (в отличие от TMemoryTable)
не использует доступ к данным через BDE и может быть использована с любыми data-aware
элементами управления Delphi VCL.
Все записи таблицы сохраняются в памяти и уничтожаются при закрытии таблицы.
Структуры таблицы вы можете задать в дизайнере Delphi с помощью редактора компоненты
"Fields Editor", или скопировать из другого набора данных в run-time
с помощью метода CopyStructure.
В настоящее время объектные поля (Delphi 4) не поддерживаются.
Внимание
Компонента TRxMemoryData реализована только для Delphi версии 3.0 и выше.
Hierarchy (Иерархия)
TObject — TPersistent — TComponent — TDataSet
Properties (Свойства)
Run-time only
Key properties
| Name | ||
| Tag |
Methods (Методы)
Key methods
| MoveBy | ||
| FindField | ||
| GetBookmark | ||
| Create | GotoBookmark | |
| Refresh | ||
| Destroy | Resync | |
| DisableControls | IsSequenced | SaveToDataSet |
| EnableControls |
Events (События)
Key events
| AfterCancel | AfterScroll | |
| AfterClose | BeforeCancel | BeforeScroll |
| AfterDelete | BeforeClose | |
| AfterEdit | ||
| AfterInsert | BeforeEdit | OnEditError |
| AfterOpen | BeforeInsert | |
| AfterPost | BeforeOpen |
Declaration
function LoadFromDataSet(Source: TDataSet; RecordCount: Integer; Mode:
TLoadMode): Integer;
Description
Метод позволяет скопировать записи из другого набора данных в таблицу в памяти.
Поддерживаются два возможных режима, задаваемого параметром Mode — lmCopy (в
этом случае все сущствующие записи удаляются и копируется также структура исходного
набора данных) и lmAppend. Параметр RecordCount задает максимальное число добавляемых
записей. Если RecordCount=0, то копируются все записи.
Метод возвращает число скопированных записей.
Пример: Mem->LoadFromDataSet(Query1,0,lmCopy);
— копируем структуру и все данные из запроса Query1 в компонент Mem.
Declaration
procedure SortOnFields(const FieldNames: string; CaseInsensitive, Descending:
Boolean);
Description
Метод сортирует данные в таблице в памяти в порядке возрастания или убывания
(в зависимости от параметра Descending) значений полей, имена которых переданы
в качестве параметра FieldNames. Для строковых полей сортировка может осуществляться
с учетом или без учета регистра символов в зависимости от параметра CaseInsensitive.
Если осуществляется сортировка по нескольким полям, то их имена разделяются
точкой с запятой (;)
Пример: сортирует таблицу Мем по нажатию
заголовка в Gride по выбранному полю без учета регистра в порядке возрастания
//--------------------
void __fastcall TFMain::GridTitleClick(TColumn *Column)
{
Mem->SortOnFields(Column->FieldName,false,false);
Mem->First();
}
//---------------------------------------------------------------------------
или
Mem->SortOnFields("ID;Name",false,false); — сортирует таблицу
Мем по полям ID и Name без учета регистра в порядке возрастания
Declaration
function IsEmpty: Boolean;
Description
Проверяем таблицу пустая или нет.
Пример: if(Mem->IsEmpty())
{ ShowMessage("Вирус или кривые руки пользователя уничтожили всю таблицу
в памяти !"); }
Declaration
procedure CopyStructure(ASource: TDataSet);
Description
Метод позволяет скопировать структуру любого набора данных ASource
в компоненту TMemoryTable или TRxMemoryData.
После вызова метода CopyStructure для активизации
таблицы в памяти вызовите метод Open или присвойте Active := True.