バージョン

並べ替えの概要 (xamDataGrid)

トピックの概要

目的

このトピックは、更新された xamDataGrid™ コントロールの並べ替え機能の概要を提供します。

前提条件

このトピックを理解するためには、以下のトピックを理解しておく必要があります。

トピック 目的

このトピックは、 xamDataGrid コントロールとコントロールが構成されるさまざまな要素を紹介します。

並べ替えの概要

並べ替えの概要

xamDataGrid 並べ替え機能は、ユーザーに UI で表示データ並べ替え機能を提要します。または、カスタム コードを使用することもできます。ユーザーは LabelPresenter をクリックして UI 内の列データを並べ替えることができます。ユーザーは、 FieldLayoutSortedFields のコレクションを変更してコードで並べ替えを実行できます。xamDataGrid コントロールは、タスクの表示と並べ替え機能を提供します。ユーザーはグリッドで列ヘッダーをクリックして列を並べ替えるこができます。

主要な設定の概要

主要な設定の概要表

以下の表は、並べ替えの構成と実行のためのさまざまな設定とその関係についての概要です。

設定 説明

LabelClickAction

ユーザーがフィールド ラベルをクリックしたときに実行されるアクションを決定します。並べ替えを有効にするために、 FieldSettings オブジェクトの LabelClickAction プロパティを LabelClickAction 列挙値に設定する必要があります。

SortComparer

.NET フレームワークの IComparer インターフェイスを実装するオブジェクトにこのプロパティを設定することにより、ユーザーはカスタムな並べ替えロジックを使用できます。

SortComparisonType

このプロパティを FieldSortComparisonType 列挙値に設定すると、デフォルトの並べ替えロジックが大文字小文字を区別するかどうかを決定できます。

SortEvaluationMode

FieldLayoutSettings クラスのこのプロパティを設定すると、データ プレゼンターで並べ替え処理する方法を指定します。

これは、各フィールド レイアウトおよびコントロール全般の並べ替え評価モードを指定できる、各 FieldLayout のプロパティ設定および xamDataGridFieldLayoutSettings プロパティによって構成できる FieldLayoutSettings クラスを公開します。

SortStatus

FieldLabelPresenter オブジェクトの両方でこの並べ替え専用プロパティを公開し、フィールドの現在の並べ替え状態を決定します。

フィールドの並べ替え順序をコードで決定する必要がある場合、Field オブジェクトの SortStatus プロパティを使用します。ただし、LabelPresenter オブジェクトのスタイルまたはテンプレートを作成する場合、並べ替えインジケーターの表示と非表示のトリガーとして SortStatus プロパティを使用できます。

この設定は、フィールド オブジェクトで読み取り専用プロパティを公開します。現在のグループ化並べ替え状態 (GroupByRecords の順序) を返します。

Label Presenter がグループ領域にある場合、Label Presenter の SortStatus プロパティはこのプロパティをバインドします。

ラベル クリック アクション

ユーザーは、オブジェクトの LabelClickActionResolved プロパティが以下の値のいずれかに解決する場合、ヘッダーをクリックしてフィールドを並べ替えできます。

値: 説明

SortByOneFieldOnly

ユーザーは、ヘッダーをクリックして単一フィールドの並べ替えを実行できます。複数フィールドの並べ替えはできません。

列ヘッダーを切り替えてデータを昇順または降順に並べ替えます。

SortByMultipleFields

エンドユーザーが Ctrl キーを押しながら複数フィールドの並べ替えに含む各フィールドヘッダーをクリックし、複数フィールドの並べ替えを同時に実行できます。

SortByOneFieldOnly 値を使用すると、ユーザーは列ヘッダーをクリックして昇順と降順を切り替えができます。

SortByOneFieldOnlyTriState

ユーザーは、フィールド ヘッダーをクリックしてフィールドの並べ替えを実行できます。

また、ユーザーは昇順または降順を選択し、列ヘッダーをクリックしてデータを並べ替えできます。

SortByMultipleFieldsTriState

ユーザーは、Ctrl キーを押しながらフィールド ヘッダーを複数選択し、複数フィールドを同時に並べ替えできます。

以前のケースでは、ユーザーは選択した列ヘッダーをクリックして昇順と降順の並べ替えを交互に行うことができます。

Note
注:

LabelClickAction プロパティを Nothing または SelectField に設定して並べ替えを無効にした場合も、プログラムでフィールドを並べ替えることが可能です。デフォルトでは、ラベル クリック アクション プロパティが SortByMultipleFields に設定されます。

並べ替え比較演算子

指定により、 GroupByRecord グループ内の DataRecord の並べ替えに比較演算子として使用されます。更に、この比較演算子は、以下の 2 つのシナリオのいずかで GroupByRecord の並べ替え順序を決定します。

  • カスタム GroupByEvaluator を指定した場合、SortComparer プロパティは null を返します。

  • GroupByEvaluator および GroupByMode プロパティを指定した場合、Text または Value のどちらかを返します。

並べ替え比較タイプ

デフォルトで、この設定は CaseSensitive に解決されます。

このコントロールは、カスタム SortComparer を指定した場合この設定を無視します。

並び替え評価モード

この列挙型には 4 つのメンバーがあります。

値: 説明

Auto

データ プレゼンターは、レコード コレクションのすべての並べ替え操作を内部で実行します。

Default

デフォルトは Auto に解決されます。

Manual

ユーザーがフィールドを並べ替えし、並べ替えがユーザーに基づく場合、データ プレゼンターはアクションを実行しません。Sorting および Sorted イベントを使用して並べ替え条件の変更を検出できます。基になるデータ ソースでデータ項目の順序を適切に変更します。

UseCollectionView

データ プレゼンターは、基になるデータソースが ICollectionView の場合、ユーザーが選択した並べ替え条件を反映するために ICollectionView の SortedDescriptions コレクションを操作します。xamDataGridICollectionView 並び替えの説明に反映するために SortedFields を同期しますが、ルート フィールド レイアウトのみです。

このモードでは xamDataGrid は重複フィールドのエントリを除外します。グループ フィールドで発生し、GroupByRecords および他の同じフィールドの順序を決定するフィールドにつき 1 エントリが可能で、各グループ内の DataRecords の順序を決定します。

関連コンテンツ

トピック

このトピックにの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックは、ユーザーによる並べ替えを無効にする方法を説明します。

このトピックは、xamDataGrid™ のグループ化機能の概要を提供します。この機能は、ユーザーがデータをより読みやすくナビゲーションしやすくグループ化できます。

このトピックは、XAML またはコードを使用し、ユーザーによるフィールド ラベルのクリックまたはフィールド ラベルをグループ領域へドラッグして、並べ替えおよび (または) グループ化する方法を説明します。

このトピックは、 xamDataGrid の内部比較演算子が、並べ替えおよびグループ化処理中に内部で実行するアクションを説明します。

このトピックは、 xamDataGrid レコード グループ化時の並べ替えレコードのユーザー操作について説明します。