В Stimulsoft Reports есть возможность использования динамической сортировки. Динамическая сортировка предоставляет возможность изменять направление сортировки в построенном отчете. Сортировка данных может выполняться как по одной колонке данных, так и по нескольким. Если необходимо отсортировать по одной колонке, то у компонента, при щелчке по которому будет включаться динамическая сортировка, следует в редакторе взаимодействий на вкладке Сортировка (Sort) установить флажок у параметра Включить сортировку (Sorting Enabled) и выбрать колонку данных, по которой будет осуществляться сортировка данных. В качестве значения данного свойства указывается колонка данных, по которой будет осуществляться динамическая сортировка. Следует отметить, что у одного компонента, можно указать только одну колонку данных.
 
Затем, в построенном отчете, следует щелкнуть по компоненту, у которого было установлено динамическая сортировка. Динамическая сортировка осуществляется в следующих направлениях: По возрастанию (Ascending) и По убыванию (Descending). Каждый раз, при щелчке по компоненту, направление меняется на противоположное. На рисунке снизу представлены страницы отчета с динамической сортировкой:

 

 

 

Если необходимо выполнить сортировку по нескольким колонкам одновременно, то это можно выполнить с помощью кнопки Ctrl. Рассмотрим на примере. Допустим есть отчет, который содержит названия категорий и список продуктов. На рисунке снизу представлен шаблон отчета:

 

 

 

При построении отчета, без указания сортировки, данные берутся из источника данных последовательно. Для того, чтобы включить динамическую сортировку необходимо выделить компонент, при нажатии на который будет изменять направление сортировки. В данном примере, выделим текстовые компоненты на бэнде Заголовок данных (Header Band). Далее, следует установить флажок у параметра Включить сортировку и определить колонки данных, по которым будет осуществляться сортировка данных. В данном случае, у текстового компонента с выражением CategoryName укажем колонку {Products.Categories.CategoryName}, а у текстового компонента с выражением ProductName - колонку {Products.ProductName}. После этого, следует построить отчет. Для того, чтобы отсортировать данные по нескольким колонкам, следует перед щелчком по компоненту, зажать клавишу Ctrl. И не отпуская клавиши щелкать по компонентам, изменяя направление сортировки. На рисунке снизу представлена страница построенного отчета с динамической сортировкой по нескольким колонками:

 

 

 

Как видно из рисунка, при сортировке по нескольким колонкам, сначала данные сортируются по первой колонке. В данном случае, категории отсортированы в направлении По возрастанию. Затем, данные сортируются по второй колонке. В данном случае, продукты сортируются в направлении По убыванию, но в пределах каждой категории. Иначе говоря, в категории Beverages продукты отсортированы в направлении от Z до A, в категории Condiments тоже от Z до A и т.д. Для того, чтобы выключить сортировку по нескольким колонкам, следует отпустить клавишу Ctrl и щелкнуть по компоненту с динамической сортировкой.