バージョン

xamGrid と xamDataGrid の重要な相違点

トピックの概要

このトピックは、概念的比較と並べて機能を比較することの両面から、xamGrid™ と xamDataGrid™ を比較します。アプリケーションで使用するグリッドを決定する支援を行うことが目的です。

概念的比較

用語

xamDataGrid

xamDataGrid コントロールは Infragistics Data Presenter Family コントロール セットの一部です。これは xamDataPresenter、xamDataCards および xamDataCarousel などのその他のコントロールも含みます。これらのコントロールは共有基盤と API を活用します。Data Presenter コントロールはレコードの多くの配列を提供する複数のビューをサポートするため、xamDataGrid コントロールはデータ列を「フィールド」として、データ行を「レコード」として参照します。

xamGrid

xamGrid はデータ列を「列」として、データ行を「行」として参照します。

パフォーマンス

xamDataGrid

xamDataGrid には多数のレコードを一度に処理する機能があり、それをサポートするために仮想化やリサイクルなどの機能が付いています。詳細については、 xamDataPresenter のパフォーマンスの最適化のトピックを参照してください。

xamGrid

xamGrid コントロールは優れたパフォーマンスのために設計されましたが、これにより多数の行にバインドすることが可能となります。詳細については、 「パフォーマンスのホワイトペーパー」を参照してください。

レイアウト

xamDataGrid

Data Presenter Family の一部として、xamDataGrid コントロールは以下を含むレコードのいくつかの組み込みビュー/配列をサポートします。

  • 垂直の GridView

  • 水平の GridView

  • カルーセル

  • カード

  • ツリー GridView

xamGrid

xamGrid は標準的な垂直の表形式の配列で行を配列します。

xamDataGrid

xamDataGrid コントロールはプロパティ/データ列ごとに Field オブジェクトを作成します。単一の Field クラスがあり、デフォルトで、Field のデータ タイプに基づいて関連付けられたセルごとに適切なエディターが使用されます。ただし、これは完全にカスタマイズ可能です。

以下は xamDataGrid で使用可能な異なるタイプのフィールドをリストします。

  • バインドされていないフィールド - バインドされていないフィールドによって特定のデータにバインドされていない xamDataGrid コントロールにフィールドを追加することが可能となります。詳細については、「DataPresenter コントロールにバインドされていないフィールドを追加」のトピックを参照してください。

  • テンプレート列のレイアウト - xamDataGrid コントロールが特定のテンプレート フィールドのレイアウトをサポートしない一方で、レコード内でセルを配列しようとする時に十分な柔軟性が提供されます。レコード内のレイアウトを決定するために、セルに Row、Col、RowSpan および ColumnSpan を割り当てることができます。

  • 階層的なデータ ビュー - xamDataGrid はデータ モデルに基づいてフィールド レイアウトを自動的に作成します。表示するフィールドを指定して、これらのフィールドに関連するプロパティを設定するためにフィールド レイアウトを手動で定義することも可能です。詳細については「階層データを表示」のトピックを参照してください。

xamGrid

xamGrid によって、固有の列タイプを作成することが可能です。詳細については、 「列」のトピックを参照してください。

以下は xamGrid で使用可能な異なるタイプの列をリストします。

  • 非バインド列 - この列タイプによって特定なデータにバインドしていない xamGrid コントロールに列を追加できます。ただし、計算された値を表示するために ValueConverter を使用します。

詳細については、 「非バインド列」のトピックを参照してください。

  • フィラー列 - この列は xamGrid コントロールで残りのスペースを埋めます。詳細については、「Filter 列」トピックを参照してください。

  • 列タイプ マッピング - 列はデータ タイプに基づいて自動的に生成されるため、その列タイプのマッピングを変更することでこれをオーバーライドできます。詳細については、「列タイプ マッピング」のトピックを参照してください。

  • テンプレート列のレイアウト - xamGrid のテンプレート列によってカスタムのコンテンツを表示することが可能です。

詳細については、 「テンプレート列のレイアウト」のトピックを参照してください。

  • グループ列 - GroupColumns を使用すると、複数列をひとつの共通ヘッダーでグループ化できます。詳細については、「グループ列」のトピックを参照してください。

  • 階層的なデータ ビュー - xamGrid は、列レイアウトと呼ばれる概念を使用して、表示する列、および階層ビューでこれらの列を配置する方法を決定します。グリッド内で複数の ColumnLayout オブジェクトを定義でき、それによって階層的なデータ構造を表示できます。各列のレイアウトは xamGrid で定義されたその他のレイアウトからは通常独立しています。詳細については、「ノード レイアウトの定義」を参照してください。

機能比較チャート

以下の表はすべてのグリッド機能をリストして、グリッドごとにサポートされるかどうかを示します。両方のグリッドで使用可能ですがサポート方法が若干異なる機能にはアスタリスク (*) が付けられています。以下の機能サポートでより詳細な説明を読むことができます。

機能カテゴリ 機能 xamGrid xamDataGrid

xamDataGrid のみ

DataValueChanged イベントと DataValueHistory イベント

なし

あり

垂直および水平のグリッド方向とカスタム ビュー

なし

あり

列の固定

なし

あり

印刷

なし

あり

元に戻す/やり直し操作

なし

あり

xamGrid のみ

条件付き書式

あり

なし

セルの結合

あり

なし

ページング

あり

なし

セル値のツールチップ

あり

なし

共通機能

列の選択*

あり

あり

列の移動*

あり

あり

列サイズの変更*

あり

あり

コピー/貼り付けのサポート*

あり

あり

遅延スクロール*

あり

あり

データの編集*

あり

あり

Excel へエクスポート

あり

あり

Word へのエクスポート

あり

あり

フィルタリング*

あり

あり

固定列*

あり

あり

右から左へ記述する言語のサポート

あり

あり

行セレクター*

あり

あり

行ホバー

あり

あり

選択*

あり

あり

並べ替え*

あり

あり

集計*

あり

あり

仮想化*

あり

あり

xamDataGrid のみの機能

以下の表は、xamDataGrid コントロールのみによってサポートされる機能をリストします。

機能名 機能の説明

グリッドの方向とカスタム ビュー

グリッドの方向 (垂直および水平) は xamDataGrid の ViewSettings プロパティによって管理されます。カスタム ビューは xamDataPresenter の View プロパティによって割り当てることができます。xamDataCards コントロールと xamDataCarousel コントロールはこれらの 2 つのビューの使用も簡略化します。

DataValueChanged イベントと DataValueHistory イベント

DataValueChanged イベントと DataValueHistory イベントによって、時間をかけてフィールドでセル値に行われた変更を追跡できます。

詳細については、 DataValueChanged イベントについてのトピックを参照してください。

列の固定

xamDataGrid はグリッドの近くまたは遠くの領域にレコードを固定する機能をサポートします。この機能はコントロールの DataPresenter ファミリで共通します。

詳細については、 レコードの固定のトピックを参照してください。

印刷

xamDataGrid は表形式データの印刷をサポートします。この機能はコントロールの DataPresenter ファミリで共通します。

詳細については、 印刷のトピックを参照してください。

元に戻す/やり直し操作

xamDataGrid コントロールで元に戻す/やり直し操作を有効にできます。これによってグリッドのユーザー インターフェイスを通して行う変更を元に戻す/やり直すことができます。

詳細については、 元に戻す操作 (xamDataPresenter)のトピックを参照してください。

xamGrid のみの機能

以下の表は、xamGrid コントロールのみによってサポートされる機能をリストします。

機能名 機能の説明

条件付き書式

条件付き書式によって、グリッドのセルの列などの特定の値をテストしたり、特定の条件に一致するセルに特定の外観を適用したりすることができます。

詳細については、 「条件付き書式」のトピックを参照してください。

セルの結合

セル結合機能は、グループ化されたデータの代替えのビューを提供します。グループは、GroupBy 機能を使用している場合、縮小されたグループ ヘッダーとして表示されるのではなく、結合されたセルとして表示されます。

詳細については、 「結合されたセル」のトピックを参照してください。

ページング

xamGrid コントロールのページング機能は、データを複数ページに分割します。ページ数は、ページ サイズとデータ ソースからのレコード合計数によって決定されます。xamGrid コントロールは、ユーザーがページ間を行き来するときに各ページの新しいデータを取得します。

詳細については、 「ページング」のトピックを参照してください。

セル値のツールチップ

ユーザーがセル上にマウスをホバーした際に、そのセルのコンテンツ全体が表示されるように、列ごとに個々にツールチップを有効にできます。

詳細については、 「ツールチップ」のトピックを参照してください。

共通機能

以下の表は xamGrid と xamDataGrid の両方によってサポートされる機能をリストします。それらの違いを概略するためにコントロールごとに機能がどのようにサポートされるのかについての説明も提供します。両方のグリッドで使用可能ですがサポート方法が若干異なる機能にはアスタリスク (*) が付けられています。

機能名 xamGrid 機能の詳細 xamDataGrid 機能の詳細

列の選択*

列の選択がグリッド内に表示します。ユーザーは列に表示されるインジケーターを使用して列を非表示にします。

詳細については 「列の選択」のトピックを参照してください。

列の選択は個別のウィンドウに表示し、これによってユーザーはチェックボックスを使用する、または列の選択からグリッドにドラッグすることによって、フィールドを表示/非表示にするできます。列の選択ユーザー インターフェイス(UI)はグリッドまたはフィールド ヘッダー内で使用できません。フィールド ヘッダーから直接列を非表示にするために使用可能なインジケーターがない一方で、ユーザーはグリッドの外側にフィールド ヘッダーをドラッグして非表示にすることができます。

詳細については フィールドの選択のトピックを参照してください。

列の移動*

列の移動オプション:

  • インジケーター

  • 即時

  • 無効

詳細については 「列の移動」のトピックを参照してください。

列の移動オプション:

  • インジケーター

  • 無効

列サイズの変更*

ディスプレイのサイズ変更オプション:

  • インジケーター

  • 即時

  • 無効

列のサイズ オプション:

  • 自動

  • 初期自動

  • 数値

  • セルにサイズ

  • ヘッダーにサイズ

  • スター

詳細については、 「列サイズの変更」のトピックを参照してください。

ディスプレイのサイズ変更オプション:

  • インジケーター

  • 即時

  • 遅延

  • 無効

列のサイズ オプション:

  • 自動

  • 初期自動

  • 数値

  • スター

詳細については、 フィールドのサイズ設定のトピックを参照してください。

コピー/貼り付けのサポート*

コピー/貼り付けはイベントを通して実行されます。ユーザーは選択設定に基づいてセルのグループ化のみをコピーできます(列ヘッダーを含めることができる)。

詳細については、 「コピー/貼り付けのサポート」のトピックを参照してください。

ユーザーは選択設定に基づいてセルのグループ化のみをコピーできます(列ヘッダーを含めることができる)。

既存の列で貼り付けるとセルのデータを上書きし、追加された空行への貼り付けによって 1 つまたは複数の新しいレコードを挿入することが可能となります。

詳細については、 クリップボード操作のトピックを参照してください。

遅延スクロール*

遅延スクロールはグリッドの最初の行からデフォルトで設定されます。

グループ化された行をスクロールする間に使用するためにテンプレートをカスタマイズすることも可能です。

詳細は、 遅延スクロールを参照してください。

ユーザーがスクロールのつまみのドラッグを開始すると、遅延スクロールが開始します。スクロール ヒントが最初のドラッグのポイントに表示して、現在のスクロール位置にあるレコードを示します。

スクロール ヒントを表示するために使用されるテンプレートをカスタマイズできます。

詳細については、 xamDataPresenter のパフォーマンスの最適化のトピックを参照してください。

データの編集*

xamGrid によってセルと行の編集が可能です。

行編集が有効になると、行全体が完了するまでセルの変更はコミットされません。編集がキャンセルされると、行全体がキャンセルされます。

xamGrid は編集に制約を課すことができません。ただし、値コンバーターを使用して固有の制約を作成することができます。

詳細については、 「データの編集」のトピックを参照してください。

xamDataGrid によってセルとレコードの編集が可能です。

ユーザーが次のセルまたは次のレコードに移動する時編集がコミットされるかどうかを制御できます。

xamDataGrid によって特定のセルの編集に制約を追加できます。たとえば、最小/最大範囲を設定することができます。

詳細については、 データの編集のトピックを参照してください。

Excel へエクスポート

Excel へエクスポートすることを可能にします。

詳細については、「Excel へエクスポート」のトピックを参照してください。

Excel へエクスポートすることを可能にします。

詳細については、 Excel へエクスポートのトピックを参照してください。

Word へのエクスポート

Word へエクスポートすることを可能にします。

詳細については、「Word へのエクスポート」のトピックを参照してください。

Word へエクスポートすることを可能にします。

詳細については、 Word へのエクスポートのトピックを参照してください。

フィルタリング*

xamGrid によって、[メニューをフィルター] または [行をフィルター] からフィルタリングできます。

  • [メニューをフィルター] には演算子と一意のリストの両方があります。

  • [行をフィルター] には演算子しかありません。

詳細については、 「フィルタリング」のトピックを参照してください。

xamDataGrid によって、[メニューをフィルター] または [行をフィルター] からフィルタリングできます。

[フィルター メニュー] によって、カスタム条件を入力し、値の範囲をフィルターすることができます。列タイプに基づいてフィルターすることもできます。たとえば、[日付] 列で、1 月をフィルターできます。

詳細については、 レコード フィルタリングのトピックを参照してください。

固定列*

固定列のオプション:

  • Indicator

  • DropArea

  • Both

  • Disabled

ドロップ エリアの場所:

  • Left

  • Right

詳細については、 「固定列」のトピックを参照してください。

固定列のオプション

  • Indicator

  • DropArea

  • Both

  • Disabled

ドロップ エリアの場所:

  • Near

  • Far

コントロールの DataPresenter ファミリは、一度に複数のフィールドを修正するために固定フィールド スプリッターを使用することをサポートします。

詳細については、 レコードの固定 (xamDataPresenter)のトピックを参照してください。

右から左へ記述する言語のサポート

右から左(RTL)および双方向(BiDi)の言語をサポートします。

詳細については、 「右から左へ記述する言語のサポート」のトピックを参照してください。

右から左(RTL)および双方向(BiDi)の言語をサポートします。

詳細については、 右から左へのサポートを有効にするのトピックを参照してください。

行ホバー

行ホバー タイプ:

  • Cell(デフォルト)

  • None

  • Row

詳細については、 「行ホバー タイプを変更」のトピックを参照してください。

行ホバー タイプ:

  • Cell(デフォルト)

  • None

  • Row

選択

選択オプション:

  • Multiple

  • None

  • Single

選択は、セルと行の同時選択を含み、セル、行、および列に対してサポートされます。

詳細については、 選択トピックを参照してください。

選択オプション:

  • Default

  • Extended

  • ExtendedAutoDrag

  • None

  • Range

  • Single

  • SingleAutoDrag

選択は、セル、行、および列に対してサポートされます。選択は、セルと行に対して同時に有効にはできません。

詳細については、 選択の概要のトピックを参照してください。

並べ替え

並べ替えは有効または無効にできます。LINQ は、xamGrid コントロールで行を並べ替えるために使用されます。

詳細については、 「並べ替え」のトピックを参照してください。

LabelClickAction オプション:

  • Default

  • Nothing

  • SelectField

  • SortByMultipleFields

  • SortByMultipleFieldsTriState

  • SortByOneFieldOnly

  • SortByOneFieldOnlyTriState

xamDataGrid は、GroupBy 行での追加の並べ替えパスもサポートします。

詳細については、 並べ替えについてのトピックを参照してください。

集計

xamGrid はデータの集計を表示できます。

詳細については、 「集計」のトピックを参照してください。

xamDataGrid はデータの集計を表示できます。

xamDataGrid は計算結果を集計行に表示できるように、xamCalculationManager コントロールと統合します。

詳細については、 行集計および「xamCalculationManager の xamDataGrid との使用」のトピックを参照してください。

仮想化

xamGrid コントロールは常に仮想化です。プリロード モードは提供されません。

ただし、仮想化は固有の高さと幅が設定されている場合は実行されません。

詳細については、 仮想化トピックを参照してください。

xamDataGrid にはレコードとセルまたはどちらか一方の仮想化に関連する以下のオプションがあります。

  • Recycle

  • Virtualize

  • Preload

  • LazyLoad

詳細については、 xamDataPresenter のパフォーマンスの最適化のトピックを参照してください。

関連トピック