DataGridView クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ Public Class DataGridView Inherits Control Implements ISupportInitialize
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class DataGridView : Control, ISupportInitialize
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] public ref class DataGridView : public Control, ISupportInitialize
DataGridView コントロールは、データを表示するためのカスタマイズ可能なテーブルを提供します。DataGridView クラスを使用すると、DefaultCellStyle、ColumnHeadersDefaultCellStyle、CellBorderStyle、GridColor などのプロパティを使用して、セル、行、列、および境界線をカスタマイズできます。詳細については、「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 と、addNewRowButton、deleteRowButton、および ledgerStyleButton という名前の 3 つのボタンが配置されているフォームに次のコードを貼り付けます。フォームのコンストラクタまたは Load イベント ハンドラから SetUpDataGridView メソッドおよび PopulateDataGridView メソッドを呼び出します。必ずすべてのイベントをイベント ハンドラに関連付けるようにしてください。
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
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; } }
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.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.DataGridView
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
DataGridView メンバ
System.Windows.Forms 名前空間
その他の技術情報
DataGridView コントロール (Windows フォーム)
DataGridView コントロールの概要 (Windows フォーム)
Windows フォームの DataGridView コントロールの基本的な書式設定およびスタイル設定
Windows フォーム DataGridView コントロールでのデータの表示
Windows フォーム DataGridView コントロールでのデータ表示モード
Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて
- DataGridView クラスのページへのリンク