このドキュメントはアーカイブされており、メンテナンスされていません。

DataGridView クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

カスタマイズできるグリッドにデータを表示します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class DataGridView : Control, ISupportInitialize
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class DataGridView extends Control implements ISupportInitialize
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class DataGridView extends Control implements ISupportInitialize

DataGridView コントロールは、データを表示するためのカスタマイズ可能なテーブルを提供します。DataGridView クラスを使用すると、DefaultCellStyleColumnHeadersDefaultCellStyleCellBorderStyleGridColor などのプロパティを使用して、セル、行、列、および境界線をカスタマイズできます。詳細については、「Windows フォームの DataGridView コントロールの基本的な書式設定およびスタイル設定」を参照してください。

DataGridView コントロールを使用すると、基になるデータ ソースを使用してもしなくてもデータを表示できます。データ ソースを指定しない場合は、データを含む列と行を作成して、DataGridView に直接追加できます。DataSource プロパティおよび DataMember プロパティを設定して、DataGridView をデータ ソースにバインドし、データを自動的に設定することもできます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。

大量のデータを処理する場合は、VirtualMode プロパティを true に設定して、使用可能なデータのサブセットを表示できます。仮想モードでは、DataGridView コントロールの作成元となるデータ キャッシュを実装する必要があります。詳細については、「Windows フォーム DataGridView コントロールでのデータ表示モード」を参照してください。

DataGridView コントロールで利用できるその他の機能については、「DataGridView コントロール (Windows フォーム)」を参照してください。

DataGridView コントロールは前のバージョンの DataGrid コントロールの後継であり、新しい機能を追加しますが、必要に応じて下位互換性および将来の使用のために DataGrid コントロールを保持することもできます。詳細については、「Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて」を参照してください。

バインドされていない DataGridView を初期化する方法を次のコード例に示します。この例を実行するには、dataGridView1 という名前の DataGridView と、addNewRowButtondeleteRowButton、および ledgerStyleButton という名前の 3 つのボタンが配置されているフォームに次のコードを貼り付けます。フォームのコンストラクタまたは Load イベント ハンドラから SetUpDataGridView メソッドおよび PopulateDataGridView メソッドを呼び出します。必ずすべてのイベントをイベント ハンドラに関連付けるようにしてください。

private void ledgerStyleButton_Click(object sender, System.EventArgs e)
{
    // Create a new cell style.
    DataGridViewCellStyle style = new DataGridViewCellStyle();
    {
        style.BackColor = Color.Beige;
        style.ForeColor = Color.Brown;
        style.Font = new Font("Verdana", 8);
    }

    // Apply the style as the default cell style.
    dataGridView1.AlternatingRowsDefaultCellStyle = style;
    ledgerStyleButton.Enabled = false;
}

private void SetUpDataGridView()
{
    this.Controls.Add(dataGridView1);
    dataGridView1.ColumnCount = 5;
    DataGridViewCellStyle style = 
        dataGridView1.ColumnHeadersDefaultCellStyle;
    style.BackColor = Color.Navy;
    style.ForeColor = Color.White;
    style.Font = new Font(dataGridView1.Font, FontStyle.Bold);

    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
    dataGridView1.Name = "dataGridView1";
    dataGridView1.Location = new Point(8, 8);
    dataGridView1.Size = new Size(500, 300);
    dataGridView1.AutoSizeRowsMode = 
        DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
    dataGridView1.ColumnHeadersBorderStyle = 
        DataGridViewHeaderBorderStyle.Raised;
    dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single;
    dataGridView1.GridColor = SystemColors.ActiveBorder;
    dataGridView1.RowHeadersVisible = false;

    dataGridView1.Columns[0].Name = "Release Date";
    dataGridView1.Columns[1].Name = "Track";
    dataGridView1.Columns[1].DefaultCellStyle.Alignment = 
        DataGridViewContentAlignment.MiddleCenter;
    dataGridView1.Columns[2].Name = "Title";
    dataGridView1.Columns[3].Name = "Artist";
    dataGridView1.Columns[4].Name = "Album";

    // Make the font italic for row four.
    dataGridView1.Columns[4].DefaultCellStyle.Font = new Font(DataGridView.DefaultFont, FontStyle.Italic);

    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    dataGridView1.MultiSelect = false;

    dataGridView1.BackgroundColor = Color.Honeydew;

    dataGridView1.Dock = DockStyle.Fill;

    dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
    dataGridView1.CellParsing += new DataGridViewCellParsingEventHandler(dataGridView1_CellParsing);
    addNewRowButton.Click += new EventHandler(addNewRowButton_Click);
    deleteRowButton.Click += new EventHandler(deleteRowButton_Click);
    ledgerStyleButton.Click += new EventHandler(ledgerStyleButton_Click);
    dataGridView1.CellValidating += new DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating);

}

private void PopulateDataGridView()
{

    // Create the string array for each row of data.
    string[] row0 = { "11/22/1968", "29", "Revolution 9", "Beatles", "The Beatles [White Album]" };
    string[] row1 = { "4/4/1960", "6", "Fools Rush In", "Frank Sinatra", "Nice 'N' Easy" };
    string[] row2 = { "11/11/1971", "1", "One of These Days", "Pink Floyd", "Meddle" };
    string[] row3 = { "4/4/1988", "7", "Where Is My Mind?", "Pixies", "Surfer Rosa" };
    string[] row4 = { "5/1981", "9", "Can't Find My Mind", "Cramps", "Psychedelic Jungle" };
    string[] row5 = { "6/10/2003", "13", "Scatterbrain. (As Dead As Leaves.)", "Radiohead", "Hail to the Thief" };
    string[] row6 = { "6/30/1992", "3", "Dress", "P J Harvey", "Dry" };

    // Add a row for each string array.
    {
        DataGridViewRowCollection rows = this.dataGridView1.Rows;
        rows.Add(row0);
        rows.Add(row1);
        rows.Add(row2);
        rows.Add(row3);
        rows.Add(row4);
        rows.Add(row5);
        rows.Add(row6);
    }

    // Change the order the columns are displayed.
    {
        DataGridViewColumnCollection columns = this.dataGridView1.Columns;
        columns[0].DisplayIndex = 3;
        columns[1].DisplayIndex = 4;
        columns[2].DisplayIndex = 0;
        columns[3].DisplayIndex = 1;
        columns[4].DisplayIndex = 2;
    }
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
        System.Windows.Forms.DataGridView

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0
表示: