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.