Stimulsoftレポートでは、動的ソートを使用することが可能です。動的ソートは、レポート内でソートの方向を変更する機能を提供します。データのソートは、1つのデータ列だけでなく、複数のデータ列で実行することができます。コンポーネントの Interaction.Sorting Enabled プロパティを true に設定し、Interaction.Sorting Column プロパティの値を変更すると、1 つの列による動的並べ替えが有効になります。このプロパティの値は、動的ソートが実行されるデータ列である。1つのコンポーネントには、1つのデータ・カラムしか指定できないことに注意する必要がある。次に、ダイナミックソートが設定されたコンポーネントを選択します。動的ソートは、以下の方向で実行されます。昇順と降順です。コンポーネントをクリックするたびに、その方向が反転します。下図は、ダイナミックソートが設定されたレポートページです。

複数の列で同時にソートする必要がある場合は、コントロールボタンを押すことで可能です。次のような例を考えてみましょう。カテゴリの名前と商品のリストを含むレポートがあるとします。下図は、レポートのテンプレートです。

ソートせずにレポートを表示すると、データはデータソースから順次取得されます。動的ソートを有効にするには、コンポーネントを選択し、それをクリックするとソートの方向が変更されるようにする必要があります。この例では、ヘッダーバンドでテキストコンポーネントを選択します。そして、両方のコンポーネントのInteraction.Sorting Enabledプロパティをtrueに設定します。Interaction.Sorting Columnプロパティのフィールドで、データの並べ替えに使用するデータ列を指定します。この場合、CategoryName という表現を持つテキストコンポーネントには {Products.Categories.CategoryName} という列を指定し、ProductName という表現を持つテキストコンポーネントには {Products.ProductName} という列を指定します。レポートを作成する データを複数の列でソートするには、コントロールボタンを持つコンポーネントをクリックし、ソートの方向を変更する必要があります。下図は、複数の列でダイナミックにソートしてレンダリングしたレポートページです。

上の図からわかるように、複数の列でソートする場合、データはまず最初の列でソートされます。この場合、カテゴリは昇順にソートされます。次に、2番目の列でデータをソートします。この場合、商品は降順にソートされるが、各カテゴリー内では降順にソートされる。つまり、商品カテゴリー「飲料」ではZからAへ、カテゴリー「調味料」ではZからAへ、といった具合に並べ替えられます。複数の列によるソートを無効にするには、Controlキーを離し、動的ソートを持つコンポーネントをクリックする必要があります。