Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Сортировка набора данных

CuBook45

Порядок расположения записей в наборе данных может быть неопределенным. По умолчанию записи не отсортированы или сортируются, например, для таблиц Paradox по ключевым полям, а для таблиц dBase в порядке их поступления в файл таблицы. С отсортированными записями набора данных работать более удобно. Сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в нем значений. Сортировку можно выполнять и по нескольким полям. Например, при сортировке по двум полям сначала записи упорядочиваются по значениям первого поля, а затем группы записей с одинаковым значением первого поля сортируются по второму полю.
 
Сортировка наборов данных Table и Query выполняется разными способами. Сортировка наборов данных Table выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Таким образом, сортировка возможна по полям, для которых создан индекс. Для сортировки по нескольким полям нужно создать индекс, включающий эти поля.
 
Направление сортировки определяет параметр ixDescending текущего индекса, по умолчанию он выключен, и упорядочивание выполняется в порядке возрастания значений. Если признак ixDescending индекса включен, то сортировка выполняется в порядке убывания значений.
Задать индекс (текущий индекс), по которому выполняется сортировка записей, можно с помощью свойств IndexName или IndexFieldNames.
Эти свойства являются взаимоисключающими, и установка значения одного из них приводит к автоматической очистке значения другого. В качестве значения свойства IndexName указывается имя индекса, установленное при его создании. При использовании свойства IndexFieldNames указываются имена полей, образующих индекс.
 
Главный индекс (ключ) таблиц Paradox не имеет имени, поэтому выполнить сортировку по этому индексу можно только с помощью свойства IndexFieldNames.
 
Приведем пример сортировки с указанием имен Индексов и индексных полей:
void __fastcall TForm1::Button1Click(T0bject *Sender)
{
switch (RadioGroup1->ItemIndex)
{
case 0: Table1->IndexFieldNames = "Товар"; break;
case 1: Table1->IndexName = "indOmiaTa"; break;
case 2: Table1->IndexFieldNames = "Валюта";
}
}
В качестве набора данных используется компонент Table1, а сортировка выполняется тремя способами: по имени индексного поля товар (для связанной с набором данных таблицы поле Товар определено в качестве главного индекса), по индексу indОплата, созданному для поля Оплата и по имени индексного поля Валюта (индекс indBaлютa).
 
В качестве набора данных используется компонент Table1. Пользователь может управлять сортировкой его записей с помощью группы переключателей, которыми определяется вид сортировки. Сортировка выполняется после нажатия кнопки Задать сортировку (Button1).
При необходимости изменить порядок сортировки по некоторому полю это удобно сделать либо при создании индексов программно путем задания значения ixDescending для параметра Options, либо при настройке свойств таблицы с помощью программы Database Desktop.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий