クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
以前のバージョン
.NET Framework SDK 2.0
System.Windows.Forms
DataGridView クラス
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
DataGridView クラス

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

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

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

Visual Basic (宣言)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class DataGridView
    Inherits Control
    Implements ISupportInitialize
Visual Basic (使用法)
Dim instance As DataGridView
C#
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class DataGridView : Control, ISupportInitialize
C++
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
public ref class DataGridView : public Control, ISupportInitialize
J#
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class DataGridView extends Control implements ISupportInitialize
JScript
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 メソッドを呼び出します。必ずすべてのイベントをイベント ハンドラに関連付けるようにしてください。

Visual Basic
Private Sub ledgerStyleButton_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles ledgerStyleButton.Click

    ' Create a new cell style.
    Dim style As New DataGridViewCellStyle
    With style
        .BackColor = Color.Beige
        .ForeColor = Color.Brown
        .Font = New Font("Verdana", 8)
    End With

    ' Apply the style as the default cell style.
    dataGridView1.AlternatingRowsDefaultCellStyle = style
    ledgerStyleButton.Enabled = False
End Sub

Private Sub SetUpDataGridView()

    Me.Controls.Add(dataGridView1)
    dataGridView1.ColumnCount = 5

    With dataGridView1.ColumnHeadersDefaultCellStyle
        .BackColor = Color.Navy
        .ForeColor = Color.White
        .Font = New Font(dataGridView1.Font, FontStyle.Bold)
    End With

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

        .Columns(0).Name = "Release Date"
        .Columns(1).Name = "Track"
        .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        .Columns(2).Name = "Title"
        .Columns(3).Name = "Artist"
        .Columns(4).Name = "Album"

        ' Make the font italic for row four.
        .Columns(4).DefaultCellStyle.Font = _
            New Font(Control.DefaultFont, _
                FontStyle.Italic)

        .SelectionMode = _
            DataGridViewSelectionMode.FullRowSelect
        .MultiSelect = False

        .BackgroundColor = Color.Honeydew

        .Dock = DockStyle.Fill
    End With

End Sub

Private Sub PopulateDataGridView()

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

    ' Add a row for each string array.
    With Me.dataGridView1.Rows
        .Add(row0)
        .Add(row1)
        .Add(row2)
        .Add(row3)
        .Add(row4)
        .Add(row5)
        .Add(row6)
    End With

    ' Change the order the columns are displayed.
    With Me.dataGridView1
        .Columns(0).DisplayIndex = 3
        .Columns(1).DisplayIndex = 4
        .Columns(2).DisplayIndex = 0
        .Columns(3).DisplayIndex = 1
        .Columns(4).DisplayIndex = 2
    End With

End Sub
C#
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;
    }
}
C++
void ledgerStyleButton_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   // Create a new cell style.
   DataGridViewCellStyle^ style = gcnew DataGridViewCellStyle;
   {
      style->BackColor = Color::Beige;
      style->ForeColor = Color::Brown;
      style->Font = gcnew System::Drawing::Font( "Verdana",8 );
   }

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

void SetUpDataGridView()
{
   this->Controls->Add( dataGridView1 );
   dataGridView1->ColumnCount = 5;
   DataGridViewCellStyle^ style = dataGridView1->ColumnHeadersDefaultCellStyle;
   style->BackColor = Color::Navy;
   style->ForeColor = Color::White;
   style->Font = gcnew System::Drawing::Font( dataGridView1->Font,FontStyle::Bold );
   dataGridView1->EditMode = DataGridViewEditMode::EditOnEnter;
   dataGridView1->Name = "dataGridView1";
   dataGridView1->Location = Point(8,8);
   dataGridView1->Size = System::Drawing::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 = gcnew System::Drawing::Font( DataGridView::DefaultFont,FontStyle::Italic );
   dataGridView1->SelectionMode = DataGridViewSelectionMode::FullRowSelect;
   dataGridView1->MultiSelect = false;
   dataGridView1->BackgroundColor = Color::Honeydew;
   dataGridView1->Dock = DockStyle::Fill;
   dataGridView1->CellFormatting += gcnew DataGridViewCellFormattingEventHandler( this, &Form1::dataGridView1_CellFormatting );
   dataGridView1->CellParsing += gcnew DataGridViewCellParsingEventHandler( this, &Form1::dataGridView1_CellParsing );
   addNewRowButton->Click += gcnew EventHandler( this, &Form1::addNewRowButton_Click );
   deleteRowButton->Click += gcnew EventHandler( this, &Form1::deleteRowButton_Click );
   ledgerStyleButton->Click += gcnew EventHandler( this, &Form1::ledgerStyleButton_Click );
   dataGridView1->CellValidating += gcnew DataGridViewCellValidatingEventHandler( this, &Form1::dataGridView1_CellValidating );
}

void PopulateDataGridView()
{
   // Create the string array for each row of data.
   array<String^>^row0 = {"11/22/1968","29","Revolution 9","Beatles","The Beatles [White Album]"};
   array<String^>^row1 = {"4/4/1960","6","Fools Rush In","Frank Sinatra","Nice 'N' Easy"};
   array<String^>^row2 = {"11/11/1971","1","One of These Days","Pink Floyd","Meddle"};
   array<String^>^row3 = {"4/4/1988","7","Where Is My Mind?","Pixies","Surfer Rosa"};
   array<String^>^row4 = {"5/1981","9","Can't Find My Mind","Cramps","Psychedelic Jungle"};
   array<String^>^row5 = {"6/10/2003","13","Scatterbrain. (As Dead As Leaves.)","Radiohead","Hail to the Thief"};
   array<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
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker