Show/Hide Toolbars

Руководство администратора

Изменение порядка сортировки

Ссылки Назад Вверх Вперед

При работе с таблицей пользователю может потребоваться изменить первоначальный порядок сортировки записей. Например, изначально данные могут быть отсортированы по плановым показателям, а пользователю необходимо отсортировать их по фактическим данным или по названию работ. В этом случае можно предоставить пользователю возможность самостоятельно менять порядок сортировки.

В примере ниже по нажатию на шапку столбца данные в таблице сортируются по данному столбцу по убыванию значений.

fr_sorting

Сортировка данных в столбцах по клику на название столбца.

Функция привязана к событию Click для элемента TextPlan — поля шапки столбца. Здесь Data1 — это название бэнда данных, Table — название таблицы-источника данных. В метод Sort.Add() передаются два параметра: название поля и порядок сортировки (true означает сортировку по убыванию, false — по возрастанию).

private void TextPlan_Click(object sender, EventArgs e)
   {
     Data1.Sort.Clear();
     Data1.Sort.Add(new Sort("[Table.Plan]", true));
     Report.Refresh();
   }

Таблица может быть отсортирована по двум и более столбцам, в этом случае потребуется последовательно вызвать метод Sort.Add() несколько раз.

Аналогичные функции могут быть созданы, например, и для элементов TextFact, TextName и др. (см. скриншот выше).

warning_icon  Обратите внимание, что в текущей версии FastReport действуют следующие ограничения:

изменение сортировки из кода работает только на главной странице отчета; если у отчета есть детальные страницы, то для них такой код сгенерирует ошибку;

поле с названием (шапкой) столбца должно быть не ячейкой таблицы, а текстовым полем (Label).