Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについてDifferences Between the Windows Forms DataGridView and DataGrid Controls

DataGridViewコントロールは、新しいコントロールを置き換える、DataGridコントロール。The DataGridView control is a new control that replaces the DataGrid control. DataGridViewコントロールで不足している多数の基本と高度な機能を提供する、DataGridコントロール。The DataGridView control provides numerous basic and advanced features that are missing in the DataGrid control. アーキテクチャではさらに、DataGridViewコントロールにより、簡単に拡張およびカスタマイズよりも、DataGridコントロール。Additionally, the architecture of the DataGridView control makes it much easier to extend and customize than the DataGrid control.

次の表に、いくつかの主な機能で使用できる、DataGridViewの不足しているコントロール、DataGridコントロール。The following table describes a few of the primary features available in the DataGridView control that are missing from the DataGrid control.

DataGridView コントロールの機能DataGridView control feature 説明Description
複数の列の型Multiple column types DataGridViewコントロールよりも多くの組み込みの列の型を提供する、DataGridコントロール。The DataGridView control provides more built-in column types than the DataGrid control. これらの列型は、最も一般的なシナリオのニーズを満たすが、簡単に拡張または置換列型よりも、DataGridコントロール。These column types meet the needs of most common scenarios, but are also easier to extend or replace than the column types in the DataGrid control. 詳細については、次を参照してください。 Windows フォームの DataGridView コントロールの列型します。For more information, see Column Types in the Windows Forms DataGridView Control.
複数のデータを表示する方法Multiple ways to display data DataGrid外部データ ソースからデータを表示するときに、コントロールは制限されています。The DataGrid control is limited to displaying data from an external data source. DataGridViewコントロールは、コントロールや、バインドされたデータ ソースからデータ バインドとバインドされていないデータにまとめて格納されているバインドされていないデータを表示できます。The DataGridView control, however, can display unbound data stored in the control, data from a bound data source, or bound and unbound data together. 仮想モードを実装することも、DataGridViewカスタム データの管理を提供するコントロール。You can also implement virtual mode in the DataGridView control to provide custom data management. 詳細については、次を参照してください。 Windows フォームの DataGridView コントロールでのデータ表示モードします。For more information, see Data Display Modes in the Windows Forms DataGridView Control.
複数のデータの表示をカスタマイズする方法Multiple ways to customize the display of data DataGridViewコントロールには、多くのプロパティおよびデータの書式設定し、表示方法を指定するためのイベントが用意されています。The DataGridView control provides many properties and events that enable you to specify how data is formatted and displayed. たとえば、セル、行、および含まれるデータに依存する列の外観を変更するまたは別の型の同等のデータを 1 つのデータ型のデータを置き換えることができます。For example, you can change the appearance of cells, rows, and columns depending on the data they contain, or you can replace data of one data type with equivalent data of another type. 詳細については、次を参照してください。 Windows フォーム DataGridView コントロールでデータの書式設定します。For more information, see Data Formatting in the Windows Forms DataGridView Control.
セル、行、列、およびヘッダーの外観と動作を変更するための複数のオプションMultiple options for changing cell, row, column, and header appearance and behavior DataGridViewコントロールでは、さまざまな方法でグリッドの個々 のコンポーネントを操作することができます。The DataGridView control enables you to work with individual grid components in numerous ways. たとえば、行と列をスクロールすることを防ぐことを固定できます。行、列、およびヘッダーを非表示にします。行、列、およびヘッダーのサイズが調整されている方法を変更します。項目を選択するようにする方法を変更します。個々 のセル、行、および列のツールヒントとショートカット メニューを提供します。For example, you can freeze rows and columns to prevent them from scrolling; hide rows, columns, and headers; change the way row, column, and header sizes are adjusted; change the way users make selections; and provide ToolTips and shortcut menus for individual cells, rows, and columns.

DataGridと、旧バージョンとの互換性のための特別なニーズに合わせて、コントロールは保持されます。The DataGrid control is retained for backward compatibility and for special needs. ほぼすべての目的で使用する必要があります、DataGridViewコントロール。For nearly all purposes, you should use the DataGridView control. 使用できる唯一の機能、DataGridコントロールでは使用できませんが、DataGridViewコントロールが 1 つのコントロールで 2 つの関連テーブルからの情報の階層表示します。The only feature that is available in the DataGrid control that is not available in the DataGridView control is the hierarchical display of information from two related tables in a single control. 2 つを使用する必要がありますDataGridViewマスター/詳細リレーションシップに含まれる 2 つのテーブルから情報を表示するコントロール。You must use two DataGridView controls to display information from two tables that are in a master/detail relationship.

DataGridView コントロールへのアップグレードUpgrading to the DataGridView Control

使用する既存のアプリケーションがある場合、DataGridコントロール カスタマイズなしの単純なデータ バインド シナリオで置き換えることができます単純に古いコントロール、新しいコントロール。If you have existing applications that use the DataGrid control in a simple data-bound scenario without customizations, you can simply replace the old control with the new control. 両方のコントロールを使用して、標準の Windows フォーム データ バインディング アーキテクチャ、DataGridViewコントロールは必要な追加構成なしで、バインドされたデータを表示します。Both controls use the standard Windows Forms data-binding architecture, so the DataGridView control will display your bound data with no additional configuration needed. ただし、データ バインディングの向上、データをバインドすることによって利用を検討することもできます、BindingSourceにバインドすることができますし、コンポーネント、DataGridViewコントロール。You might want to consider taking advantage of data-binding improvements, however, by binding your data to a BindingSource component, which you can then bind to the DataGridView control. 詳細については、次を参照してください。 BindingSource コンポーネントします。For more information, see BindingSource Component.

DataGridViewコントロールが、まったく新しいアーキテクチャは、使用できる簡単な変換パスはありませんDataGridとカスタマイズ、DataGridViewコントロール。Because the DataGridView control has an entirely new architecture, there is no straightforward conversion path that will enable you to use DataGrid customizations with the DataGridView control. 多くDataGridカスタマイズは必要では、DataGridView制御、ただし、新しいコントロールで使用できる組み込みの機能が原因です。Many DataGrid customizations are unnecessary with the DataGridView control, however, because of the built-in features available in the new control. カスタム列の型を作成した場合、DataGridで使用するコントロール、DataGridViewコントロール、もう一度新しいアーキテクチャを使用してそれらを実装する必要があります。If you have created custom column types for the DataGrid control that you want to use with the DataGridView control, you will have to implement them again using the new architecture. 詳細については、次を参照してください。 Windows フォーム DataGridView コントロールのカスタマイズします。For more information, see Customizing the Windows Forms DataGridView Control.

関連項目See also