Описание индекса
Параметры каждого индекса набора данных представлены в классе 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.