バージョン

グループ化の概要 (xamDataGrid)

トピックの概要

目的

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

前提条件

このトピックを理解するためには、以下のトピックをあらかじめお読みください。

トピック 目的

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

グループ化の概要

グループ化の概要

関連するデータをグループにして表示する機能は、 xamDataGrid の重要な機能の 1 つで、UI またはコードを介して実行できます。

グループ化では、ユーザーが複数フィールド レイアウトからグループ領域へフィールド ヘッダーをドラッグできます。

Grouping Overview 1.png

2 つ目のオプションは、グループ領域の下のデフォルト レイアウトで各フィールドにボタンを表示します。ユーザーは、これらのボタンをデフォルト フィールド レイアウトでグループ領域からグループレコードにドラッグできます。ただし、ユーザーが複数のフィールド レイアウトでフィールドを使用したレコードのグループ化することはできません。このオプションは、前のリリースと下位互換性があります。

Grouping Overview 2.png

主要な設定の概要

主要な設定の概要表

xamDataGrid は、設定で詳細なユーザー構成が可能です。

設定 説明

FieldSettings クラス プロパティは、UI でフィールドをグループ化操作を初期化できるかどうかを決定します。

このプロパティのデフォルト設定は、True です。

この FieldSettings クラス プロパティは、グループ化されたフィールド セルが表示されるかどうかを決定します。

このプロパティのデフォルト設定は、Visible です。

この DataPresenterBase クラス プロパティは、 GroupByArea を取得または設定します。

この DataPresenterBase クラス プロパティは、ユーザーがフィールドをグループ化する方法を取得または設定します。

この DataPresenterBase クラス プロパティは、複数の FieldLayout で Outlook スタイル グループ化を作成する GroupByAreaMulti コントロールを取得または設定します。

この DataPresenterBase クラス プロパティは、GroupByArea を表示する場所を決定します。

None に設定した場合、GroupByArea は表示されません。

FieldSettings クラスのこのプロパティは、指定すると GroupByRecord の次の作成を並べ替えます。この操作は、GroupByRecord で 2 つ目の並べ替え パスが必要となります。

FieldLayoutSettings クラスのこのプロパティは、データ プレゼンターをグループ化する方法を指定します。

グループ化レコードのカスタム エバリュエーターを指定し、グループの分割を決定するために FieldSettings クラスのこのプロパティを使用します。

FieldSettings クラスのこのプロパティは、 DataRecord グループ化を決定します。

GroupByArea

  • この GroupByArea プロパティを設定して、タイプ GroupByArea のコントロールを使用して外部グループ領域を DataPresenter にアタッチ、または GroupByArea コントロールのプロパティを変更できます。このグループ領域では、デフォルト フィールド レイアウトでのフィールドのグループ化のみ可能です。

注:

Note

Data Presenter で GroupByArea コントロールを使用するには、GroupByAreaMode プロパティを最初に DefaultFiledLayoutOnly に設定する必要があります。

GroupByAreaMode

このプロパティは、3 つの目的があります。

  • 主要な目的として、ユーザーが複数フィールド レイアウトのフィールを使用してレコードをグループ化するかどうかを決定します。たとえば、Customer と Order データ項目のネスト階層がある場合、このプロパティはユーザーによるCustomer データ項目と Order データ項目のグループ化が可能かどうかを決定します。

  • 2 つ目は、複数フィールド レイアウトのグループ化が有効な場合のグループ領域に必要なスペースを決定します。MultipleFieldLayoutCompact 設定を使用する場合、コントロールは、グループ領域でグループ化条件を 1 行で表示します。ただし、MultipleFiledLayoutsFull sett``ing では、 xamDataGrid がグループ化領の別々の行での一意なフィールド レイアウトを表示します。

  • 3 つ目は、 グループレコードで 2 つの異なる UI オプション間を切り替えることです。グループ化がデフォルト フィールド レイアウトのみで有効で古いグループ化 UI を優先する場合、DefaultFieldLayoutOnly を使用すると、グループ領域がデフォルト フィールド レイアウトでフィールドのボタンを表示します。ただし、ユーザーが複数フィールド レイアウトからグループ領域へフィールド ヘッダーをドラッグできます。

GroupByAreaMulti

このプロパティを設定して、タイプ GroupByAreaMulti のコントロールを使用して外部グループ領域を DataPresenter にアタッチ、または GroupByAreaMulti コントロールのプロパティを変更できます。

注:

Note

このグループ領域で GroupByAreaMode プロパティを使用する場合、MultipleFieldLayoutsCompact、または MultipleFieldLayoutsFull のいずれかを設定する必要があります。

GroupByAreaLocation

このプロパティは、グループ領域の場所を設定できます。

注:

Note

外部グループ領域を使用する場合、このプロパティはコントロールに影響しません。

GroupByComparer

このプロパティを IComparer インターフェイスを実装するためにオブジェクトに設定して、レコードでグループ化するためにカスタムな並べ替えロジックを使用できます。

GroupByEvaluationMode

以下は GroupByEvaluationMode 列挙型のメンバーです。

メンバー 説明

Auto

データ プレゼンターは、グループ化処理を内部で実行します。

Default

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

UseCollectionView

基になるデータ ソースが ICollectionView の場合、データ プレゼンターは GroupDescriptions プロパティを使用してグループ化処理を実行ます。このコントロールは、GroupDescriptions および SortedDescriptions コレクション ビューを変更します。

このモード コントロールは、重複するフィールドを除外します。

GroupByEvaluator

このプロパティは、 IGroupByEvaluator インターフェイスのカスタム実装を設定できます。このインターフェイスには、IComparer 型の読み取り専用 SortComparer プロパティがあります。IGroupByEvaluator インターフェイスの SortComparer プロパティは、 DoesGroupContainRecord メソッドの実装とロジックと一致する比較演算子を返します。

つまり、並べ替え順序のロジックがグループ化ロジックと同じで、同じグループの他の DataRecord と比較される際に、同じグループになるすべての DataRecord は比較演算子の Compare メソッドから 0 を返します。

GroupByMode

GroupByMode プロパティは、 FieldGroupByMode 列挙型を取得または設定します。このプロパティは、フィールドをグループ化する際に使用するデフォルトの GroupByEvaluators を指定できます。

注:

Note

GroupByEvaluator を指定するとこのプロパティは無視されます。

設定しない場合、このプロパティは FieldSettings クラスの EditAsType プロパティに基づいたオプションの 1 つによってデフォルト値に戻されます。

説明

Text

この値は、EditAsType が型文字列かどうかを設定します。

OutlookDate

この値は、EditAsType が型 DateTime かどうかを設定します。

Value

この値は、EditAsType が型文字列または DateTime でないかどうかを設定します。

関連コンテンツ

トピック

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

トピック 目的

このトピックでは、グループ領域の場所を変更する方法について説明します。

このトピックは、Data Presenter コントロールからグループ領域をデタッチし、ウィンドウで外部にグループ領域を作成する方法を説明します。

このトピックは、グループ領域を非表示にする方法を説明します。

このトピックは、グループ領域のフィールド ヘッダーのレイアウトおよびフィールド レイアウトの説明を変更する方法を説明します。

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

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

このトピックは、xamDataGrid の並べ替え機能の概要を提供します。xamDataGrid は、並べ替えを表示および処理します。ユーザーは、列ヘッダーをクリックすることによって列をソートでき、これによって希望の順序でグリッド データを表示できます。

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