Параметры каждого индекса набора
данных представлены в классе TindexDef,
а их совокупность для набора данных содержится в свойстве IndexDefs класса TDataSet.
Свойство
property Name: String;
определяет название индекса.
Список всех полей индекса содержится в свойстве
property Fields: String;
Поля разделяются точкой с запятой.
Свойство
property CaselnsFields: String;
содержит список полей, регистр символов в которых при сортировке не учитывается. Поля разделяются точкой с запятой. Все поля из этого списка должны входить в свойство
Fields. В наборе данных по умолчанию используется сортировка записей с учетом регистра символов. Но некоторые серверы БД допускают комбинированную сортировку по полям с учетом регистра и без.
Свойство
property DescFields: String;
содержит список полей через точку с запятой, которые сортируются в обратном порядке. Все поля из этого списка должны входить в свойство
Fields. По умолчанию все поля сортируются в прямом порядке. Некоторые серверы БД поддерживают одновременную сортировку полей в прямом и обратном порядке.
Свойство
property GroupingLevel: Integer;
позволяет ограничить область применения индекса. Если значение этого свойства равно нулю, индекс упорядочивает все записи набора данных. В противном случае действие индекса распространяется на группы записей, имеющих одинаковые значения для того числа полей, которое задано этим свойством.
Параметры индекса определяются свойством
property Options: TIndexOptions;
Для индекса возможны сочетания следующих параметров:
ixPrimary
— первичный индекс;
ixunique
— значения индекса уникальны;
ixDescending
— индекс сортирует записи в обратном порядке;
ixCaseinsensitive
— индекс сортирует записи без учета регистра символов;
ixExpression
— в индексе используется выражение (для индексов dBASE);
ixNonMaintained
— индекс не обновляется при открытии таблицы.
Метод
procedure Assign(ASource: TPersistent); override;
заполняет свойства объекта значениями аналогичных свойств объекта
ASource.