バージョン

階層データの表示

トピックの概要

目的

このトピックでは、階層データ、および xamDataGrid ™ コントロールによる階層データの表示方法を説明します。

前提条件

このトピックを理解するために、以下のトピックを参照することをお勧めします。

トピック 目的

このトピックは、 xamDataGrid コントロールの概要を提供し、要素のダイアグラムを含みます。

このトピックでは、データ項目とデータ レコードの違いを説明します。

このトピックでは、各レコードについて表示される列を手動で定義する方法を説明します。

階層データについて

階層データの概要

階層データは、情報をツリー構造のレコードに編成します。ツリー構造は、以下の親子関係で構成されます。

  • 親はゼロ以上の子レコードを持つことができます (1:多数)

  • 子レコードは親レコードを 1 つだけ持つことができます (1:1)

データ プレゼンターの階層データ認識プロセス

処理の概要

xamDataCarousel ™、 xamDataGrid ™、および xamDataPresenter ™ コントロールは、変更することなく、階層データを表示できます。フラット データ ソースへのバインド、階層データ ソースへのバインドに違いはありません。コントロールは、フラットであるか階層であるかに関係なく、データ ソースを解釈し、正しく表示します。

コントロールは、データ オブジェクトを表示する必要がある場合、それらのプロパティのタイプを検証し、以下の表に示すように、プロパティのタイプに応じて表示します。

タイプ データ プレゼンター コントロールによる解釈

IEnumerable インターフェイスを実装しないタイプのすべてのパブリック プロパティ、および String タイプ。

これらのプロパティを 1 つのセルとしてレコード行に表示します。

IEnumerable インターフェイスを実装しないタイプのすべてのパブリック プロパティ。ただし、String タイプを除きます。

これらのプロパティを子レコードとして、つまり、階層的に表示します。

このデフォルト動作は、 Field クラスから公開される IsExpandable プロパティによってオーバーライドできます。以下の表は、IsExpandable プロパティの使用方法を説明しています。

動作 使用するプロパティ 設定値

このフィールドによって表示されるデータが、前述したように、フィールドのデータ型に基づいてフラット (セルの中に) または階層 (子レコード) として表示されます。

IsExpandable

null (デフォルト)

フィールドのデータ型に関わらず、このフィールドのデータを子レコードではなく、セルの中に強制的に表示します。

注:

Note

タイプが IEnumerable である場合、たとえばスパークラインやリストを使用した複雑な型を表示するために、 CellValuePresenter スタイルを提供することが必要になる可能性があります。

IsExpandable

false

フィールドのデータ型に関わらず、このフィールドのデータをセルの中ではなく、子レコードとして強制的に表示します。

注:

Note

タイプが IEnumerable でない場合、データは単一の子レコードとして表示されます。

IsExpandable

true

特定のフィールドの表示される状態を確認するために、読み取り専用のブールの IsExpandableResolved プロパティを使用することもできます。

注:

Note

xamDataCards ™ コントロールは、階層データを表示しません。

データ プレゼンターに表示された階層データのスクリーンショット

スクリーンショットの概要

以下のスクリーンショットは、階層データを表示する xamDataGrid コントロールを示します。

xamDataGrid Data Binding xamDataGrid to Hierarchical SQL Database 01.png
WPF Binding to an Object 01.png

関連コンテンツ

トピック

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

トピック 目的

このトピックでは、DataPresenter を XmlDataProvider にバインドする方法を説明します。

このトピックでは、DataPresenter を Collection にバインドする方法を説明します。

このトピックでは、DataPresenter を DataSet にバインドする方法を説明します。

このトピックでは、 xamDataGrid コントロールでセル値が変わる場合に異なったスタイルを適用する方法について説明します。