DataGridViewColumn イベント
DataGridViewColumn クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Class DataGridViewColumn Inherits DataGridViewBand Implements IComponent, IDisposable
public class DataGridViewColumn : DataGridViewBand, IComponent, IDisposable
public class DataGridViewColumn extends DataGridViewBand implements IComponent, IDisposable
public class DataGridViewColumn extends DataGridViewBand implements IComponent, IDisposable

DataGridViewColumn クラスは DataGridView コントロールの論理的な列を表します。列を取得するには、コントロールの Columns コレクションを使用します。
DataGridView のセルの実際のコレクションが格納された DataGridViewRow とは異なり、DataGridViewColumn は、列の幅やセル スタイルなど、主に列のユーザー インターフェイス (UI) の外観と動作を調整するために使用されます。セル スタイルの詳細については、「Windows フォーム DataGridView コントロールでのセルのスタイル」を参照してください。
DataGridViewColumn から派生した型は通常、CellTemplate プロパティを、DataGridViewCell クラスから派生した関連する型の新しいインスタンスに初期化します。個々のセルの外観や動作に関係する列プロパティは、テンプレート セルの対応するプロパティのラッパーです。列に対してこれらのプロパティの 1 つを変更すると、セル テンプレートの値、および列のすべてのセルの値が自動的に変更されます。各セルの指定した値をオーバーライドするには、列の値を設定してからセルの値を設定します。
継承時の注意 DataGridViewColumn からクラスを派生させて新しいプロパティを追加する場合は、Clone メソッドをオーバーライドして、クローン操作時に新しいプロパティをコピーする必要があります。また、基本クラスの Clone メソッドも呼び出して、基本クラスのプロパティが新しいセルにコピーされるようにする必要があります。
DataGridView と一連のボタンを含んだ Windows フォームを作成するコード例を次に示します。各ボタンのラベルには、最初の列と最後の列の交換 (DisplayIndex プロパティを使用) や列ヘッダーのテキストの変更 (HeaderText プロパティを使用) など、DataGridViewColumn プロパティに関係する操作が記述されています。ボタンをクリックすると、DataGridViewColumn の関連付けられたプロパティが変更されます。
Imports System.Windows.Forms Imports System.Drawing Public Class DataGridViewColumnDemo Inherits Form #Region "set up form" Public Sub New() InitializeComponent() AddButton(Button1, "Reset") AddButton(Button2, "Change Column 3 Header") AddButton(Button3, "Change Meatloaf Recipe") AddAdditionalButtons() End Sub Friend WithEvents dataGridView As DataGridView Friend WithEvents Button1 As Button = New Button() Friend WithEvents Button2 As Button = New Button() Friend WithEvents Button3 As Button = New Button() Friend WithEvents Button4 As Button = New Button() Friend WithEvents Button5 As Button = New Button() Friend WithEvents Button6 As Button = New Button() Friend WithEvents Button7 As Button = New Button() Friend WithEvents Button8 As Button = New Button() Friend WithEvents Button9 As Button = New Button() Friend WithEvents Button10 As Button = New Button() Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel _ = New FlowLayoutPanel() Private Sub InitializeComponent() FlowLayoutPanel1.Location = New Point(454, 0) FlowLayoutPanel1.AutoSize = True FlowLayoutPanel1.FlowDirection = FlowDirection.TopDown FlowLayoutPanel1.Name = "flowlayoutpanel" ClientSize = New System.Drawing.Size(614, 360) Controls.Add(FlowLayoutPanel1) Text = Me.GetType.Name AutoSize = True End Sub #End Region #Region "set up DataGridView" Private thirdColumnHeader As String = "Main Ingredients" Private boringMeatloaf As String = "ground beef" Private boringMeatloafRanking As String = "*" Private boringRecipe As Boolean Private shortMode As Boolean Private Sub InitializeDataGridView(ByVal ignored As Object, _ ByVal ignoredToo As EventArgs) Handles Me.Load dataGridView = New System.Windows.Forms.DataGridView Controls.Add(dataGridView) dataGridView.Size = New Size(300, 200) ' Create an unbound DataGridView by declaring a ' column count. dataGridView.ColumnCount = 4 AdjustDataGridViewSizing() ' Set the column header style. Dim columnHeaderStyle As New DataGridViewCellStyle columnHeaderStyle.BackColor = Color.Aqua columnHeaderStyle.Font = _ New Font("Verdana", 10, FontStyle.Bold) dataGridView.ColumnHeadersDefaultCellStyle = _ columnHeaderStyle ' Set the column header names. dataGridView.Columns(0).Name = "Recipe" dataGridView.Columns(1).Name = "Category" dataGridView.Columns(2).Name = thirdColumnHeader dataGridView.Columns(3).Name = "Rating" PostColumnCreation() ' Populate the rows. Dim row1 As String() = New String() _ {"Meatloaf", "Main Dish", boringMeatloaf, _ boringMeatloafRanking} Dim row2 As String() = New String() _ {"Key Lime Pie", "Dessert", _ "lime juice, evaporated milk", _ "****"} Dim row3 As String() = New String() _ {"Orange-Salsa Pork Chops", "Main Dish", _ "pork chops, salsa, orange juice", "****"} Dim row4 As String() = New String() _ {"Black Bean and Rice Salad", "Salad", _ "black beans, brown rice", _ "****"} Dim row5 As String() = New String() _ {"Chocolate Cheesecake", "Dessert", "cream cheese", _ "***"} Dim row6 As String() = New String() _ {"Black Bean Dip", "Appetizer", _ "black beans, sour cream", _ "***"} Dim rows As Object() = New Object() {row1, row2, _ row3, row4, row5, row6} Dim rowArray As String() For Each rowArray In rows dataGridView.Rows.Add(rowArray) Next shortMode = False boringRecipe = True End Sub Private Sub AddButton(ByVal button As Button, _ ByVal buttonLabel As String) FlowLayoutPanel1.Controls.Add(button) button.TabIndex = FlowLayoutPanel1.Controls.Count button.Text = buttonLabel button.AutoSize = True End Sub Private Sub ResetToDisorder(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Controls.Remove(dataGridview) dataGridView.Dispose() InitializeDataGridView(Nothing, Nothing) End Sub Private Sub ChangeColumn3Header(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Button2.Click Toggle(shortMode) If shortMode Then dataGridView.Columns(2).HeaderText = _ "S" _ Else dataGridView.Columns(2).HeaderText = _ thirdColumnHeader End Sub Private Shared Sub Toggle(ByRef toggleThis As Boolean) toggleThis = Not toggleThis End Sub Private Sub ChangeMeatloafRecipe(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Button3.Click Toggle(boringRecipe) If boringRecipe Then SetMeatloaf(boringMeatloaf, boringMeatloafRanking) Else Dim greatMeatloafRecipe As String = "1 lb. lean ground beef, " _ & "1/2 cup bread crumbs, 1/4 cup ketchup," _ & "1/3 tsp onion powder, " _ & "1 clove of garlic, 1/2 pack onion soup mix " _ & " dash of your favorite BBQ Sauce" SetMeatloaf(greatMeatloafRecipe, "***") End If End Sub Private Sub SetMeatloaf(ByVal recipe As String, _ ByVal rating As String) dataGridView.Rows(0).Cells(2).Value = recipe dataGridView.Rows(0).Cells(3).Value = rating End Sub #End Region #Region "demonstration code" Private Sub PostColumnCreation() AddContextLabel() AddCriteriaLabel() CustomizeCellsInThirdColumn() AddContextMenu() SetDefaultCellInFirstColumn() ToolTips() End Sub Private criteriaLabel As String = "Column 3 sizing criteria: " Private Sub AddCriteriaLabel() AddLabelToPanelIfNotAlreadyThere(criteriaLabel, _ criteriaLabel & _ dataGridView.Columns(2).AutoSizeMode.ToString() _ & ".") End Sub Private Sub AddContextLabel() Dim labelName As String = "label" AddLabelToPanelIfNotAlreadyThere(labelName, _ "Use shortcut menu to change cell color.") End Sub Private Sub AddLabelToPanelIfNotAlreadyThere( _ ByVal labelName As String, _ ByVal labelText As String) Dim label As Label If FlowLayoutPanel1.Controls(labelName) Is Nothing Then label = New Label() label.AutoSize = True label.Name = labelName label.BackColor = Color.Bisque FlowLayoutPanel1.Controls.Add(label) Else label = CType(FlowLayoutPanel1.Controls(labelName), Label) End If label.Text = labelText End Sub Private Sub CustomizeCellsInThirdColumn() Dim thirdColumn As Integer = 2 Dim column As DataGridViewColumn = _ dataGridView.Columns(thirdColumn) Dim cell As DataGridViewCell = _ New DataGridViewTextBoxCell() cell.Style.BackColor = Color.Wheat column.CellTemplate = cell End Sub WithEvents toolStripItem1 As New ToolStripMenuItem() Private Sub AddContextMenu() toolStripItem1.Text = "Redden" Dim strip As New ContextMenuStrip() For Each column As DataGridViewColumn _ In dataGridView.Columns() column.ContextMenuStrip = strip column.ContextMenuStrip.Items.Add(toolStripItem1) Next End Sub ' Change the cell's color. Private Sub toolStripItem1_Click(ByVal sender As Object, _ ByVal args As EventArgs) _ Handles toolStripItem1.Click dataGridView.Rows(mouseLocation.RowIndex) _ .Cells(mouseLocation.ColumnIndex) _ .Style.BackColor = Color.Red End Sub Private mouseLocation As DataGridViewCellEventArgs ' Deal with hovering over a cell. Private Sub dataGridView_CellMouseEnter(ByVal sender As Object, _ ByVal location As DataGridViewCellEventArgs) _ Handles DataGridView.CellMouseEnter mouseLocation = location End Sub Private Sub SetDefaultCellInFirstColumn() Dim firstColumn As DataGridViewColumn = _ dataGridView.Columns(0) Dim cellStyle As DataGridViewCellStyle = _ New DataGridViewCellStyle() cellStyle.BackColor = Color.Thistle firstColumn.DefaultCellStyle = cellStyle End Sub Private Sub ToolTips() Dim firstColumn As DataGridViewColumn = _ dataGridView.Columns(0) Dim thirdColumn As DataGridViewColumn = _ dataGridView.Columns(2) firstColumn.ToolTipText = _ "This is column uses a default cell." thirdColumn.ToolTipText = _ "This is column uses a template cell." _ & " Changes to one cell's style changes them all." End Sub Private Sub AddAdditionalButtons() AddButton(Button4, "Set Minimum Width of Column Two") AddButton(Button5, "Set Width of Column One") AddButton(Button6, "Autosize Third Column") AddButton(Button7, "Add Thick Vertical Edge") AddButton(Button8, "Style and Number Columns") AddButton(Button9, "Change Column Header Text") AddButton(Button10, "Swap First and Last Columns") End Sub Private Sub AdjustDataGridViewSizing() dataGridView.ColumnHeadersHeightSizeMode = _ DataGridViewColumnHeadersHeightSizeMode.AutoSize End Sub 'Set the minimum width. Private Sub Button4_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button4.Click Dim column As DataGridViewColumn = dataGridView.Columns(1) column.MinimumWidth = 40 End Sub ' Set the width. Private Sub Button5_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button5.Click Dim column As DataGridViewColumn = dataGridView.Columns(0) column.Width = 60 End Sub ' AutoSize the third column. Private Sub Button6_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button6.Click Dim column As DataGridViewColumn = dataGridView.Columns(2) column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells End Sub ' Set the vertical edge. Private Sub Button7_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button7.Click Dim thirdColumn As Integer = 2 Dim column As DataGridViewColumn = _ dataGridView.Columns(thirdColumn) column.DividerWidth = 10 End Sub ' Style and number columns. Private Sub Button8_Click(ByVal sender As Object, _ ByVal args As EventArgs) Handles Button8.Click Dim style As DataGridViewCellStyle = _ New DataGridViewCellStyle() style.Alignment = _ DataGridViewContentAlignment.MiddleCenter style.ForeColor = Color.IndianRed style.BackColor = Color.Ivory For Each column As DataGridViewColumn _ In dataGridView.Columns column.HeaderCell.Value = _ column.Index.ToString column.HeaderCell.Style = style Next End Sub ' Change the text in the column header. Private Sub Button9_Click(ByVal sender As Object, _ ByVal args As EventArgs) Handles Button9.Click For Each column As DataGridViewColumn _ In dataGridView.Columns column.HeaderText = String.Concat("Column ", _ column.Index.ToString) Next End Sub ' Swap the last column with the first. Private Sub Button10_Click(ByVal sender As Object, _ ByVal args As EventArgs) Handles Button10.Click ' Since display indexes are not necessarily unique to ' each column (for example, multiple columns may have a ' display index of zero) do the below to retrieve the ' first and last column, rather than just swap the column ' with DisplayIndex 0 with the column of the highest ' DisplayIndex. Dim columnCollection As DataGridViewColumnCollection = _ dataGridView.Columns Dim firstVisibleColumn As DataGridViewColumn = _ columnCollection.GetFirstColumn(DataGridViewElementStates.Visible) Dim lastVisibleColumn As DataGridViewColumn = _ columnCollection.GetLastColumn(DataGridViewElementStates.Visible, _ Nothing) Dim firstColumn_sIndex As Integer = firstVisibleColumn.DisplayIndex firstVisibleColumn.DisplayIndex = _ lastVisibleColumn.DisplayIndex lastVisibleColumn.DisplayIndex = firstColumn_sIndex End Sub ' Updated the criteria label. Private Sub dataGridView_AutoSizeColumnCriteriaChanged( _ ByVal sender As Object, _ ByVal args As DataGridViewAutoSizeColumnModeEventArgs) _ Handles DataGridView.AutoSizeColumnModeChanged args.Column.DataGridView.Parent. _ Controls("flowlayoutpanel"). _ Controls(criteriaLabel).Text = _ criteriaLabel & args.Column.AutoSizeMode.ToString End Sub #End Region <STAThreadAttribute()> _ Public Shared Sub Main() Application.Run(New DataGridViewColumnDemo()) End Sub End Class
using System.Windows.Forms; using System; using System.Drawing; public class DataGridViewColumnDemo : Form { #region "set up form" public DataGridViewColumnDemo() { InitializeComponent(); AddButton(Button1, "Reset", new EventHandler(ResetToDisorder)); AddButton(Button2, "Change Column 3 Header", new EventHandler(ChangeColumn3Header)); AddButton(Button3, "Change Meatloaf Recipe", new EventHandler(ChangeMeatloafRecipe)); AddAdditionalButtons(); InitializeDataGridView(); } DataGridView dataGridView; Button Button1 = new Button(); Button Button2 = new Button(); Button Button3 = new Button(); Button Button4 = new Button(); Button Button5 = new Button(); Button Button6 = new Button(); Button Button7 = new Button(); Button Button8 = new Button(); Button Button9 = new Button(); Button Button10 = new Button(); FlowLayoutPanel FlowLayoutPanel1 = new FlowLayoutPanel(); private void InitializeComponent() { FlowLayoutPanel1.Location = new Point(454, 0); FlowLayoutPanel1.AutoSize = true; FlowLayoutPanel1.FlowDirection = FlowDirection.TopDown; FlowLayoutPanel1.Name = "flowlayoutpanel"; ClientSize = new System.Drawing.Size(614, 360); Controls.Add(this.FlowLayoutPanel1); Text = this.GetType().Name; AutoSize = true; } #endregion #region "set up DataGridView" private string thirdColumnHeader = "Main Ingredients"; private string boringMeatloaf = "ground beef"; private string boringMeatloafRanking = "*"; private bool boringRecipe; private bool shortMode; private void InitializeDataGridView() { dataGridView = new System.Windows.Forms.DataGridView(); Controls.Add(dataGridView); dataGridView.Size = new Size(300, 200); // Create an unbound DataGridView by declaring a // column count. dataGridView.ColumnCount = 4; AdjustDataGridViewSizing(); // Set the column header style. DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle(); columnHeaderStyle.BackColor = Color.Aqua; columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold); dataGridView.ColumnHeadersDefaultCellStyle = columnHeaderStyle; // Set the column header names. dataGridView.Columns[0].Name = "Recipe"; dataGridView.Columns[1].Name = "Category"; dataGridView.Columns[2].Name = thirdColumnHeader; dataGridView.Columns[3].Name = "Rating"; PostColumnCreation(); // Populate the rows. string[] row1 = new string[]{"Meatloaf", "Main Dish", boringMeatloaf, boringMeatloafRanking}; string[] row2 = new string[]{"Key Lime Pie", "Dessert", "lime juice, evaporated milk", "****"}; string[] row3 = new string[]{"Orange-Salsa Pork Chops", "Main Dish", "pork chops, salsa, orange juice", "****"}; string[] row4 = new string[]{"Black Bean and Rice Salad", "Salad", "black beans, brown rice", "****"}; string[] row5 = new string[]{"Chocolate Cheesecake", "Dessert", "cream cheese", "***"}; string[] row6 = new string[]{"Black Bean Dip", "Appetizer", "black beans, sour cream", "***"}; object[] rows = new object[] { row1, row2, row3, row4, row5, row6 }; foreach (string[] rowArray in rows) { dataGridView.Rows.Add(rowArray); } shortMode = false; boringRecipe = true; } private void AddButton(Button button, string buttonLabel, EventHandler handler) { FlowLayoutPanel1.Controls.Add(button); button.TabIndex = FlowLayoutPanel1.Controls.Count; button.Text = buttonLabel; button.AutoSize = true; button.Click += handler; } private void ResetToDisorder(object sender, System.EventArgs e) { Controls.Remove(dataGridView); dataGridView.Dispose(); InitializeDataGridView(); } private void ChangeColumn3Header(object sender, System.EventArgs e) { Toggle(ref shortMode); if (shortMode) { dataGridView.Columns[2].HeaderText = "S"; } else { dataGridView.Columns[2].HeaderText = thirdColumnHeader; } } private static void Toggle(ref bool toggleThis) { toggleThis = !toggleThis; } private void ChangeMeatloafRecipe(object sender, System.EventArgs e) { Toggle(ref boringRecipe); if (boringRecipe) { SetMeatloaf(boringMeatloaf, boringMeatloafRanking); } else { string greatMeatloafRecipe = "1 lb. lean ground beef, " + "1/2 cup bread crumbs, 1/4 cup ketchup," + "1/3 tsp onion powder, " + "1 clove of garlic, 1/2 pack onion soup mix " + " dash of your favorite BBQ Sauce"; SetMeatloaf(greatMeatloafRecipe, "***"); } } private void SetMeatloaf(string recipe, string rating) { dataGridView.Rows[0].Cells[2].Value = recipe; dataGridView.Rows[0].Cells[3].Value = rating; } #endregion #region "demonstration code" private void PostColumnCreation() { AddContextLabel(); AddCriteriaLabel(); CustomizeCellsInThirdColumn(); AddContextMenu(); SetDefaultCellInFirstColumn(); ToolTips(); dataGridView.CellMouseEnter += dataGridView_CellMouseEnter; dataGridView.AutoSizeColumnModeChanged += dataGridView_AutoSizeColumnModeChanged; } private string criteriaLabel = "Column 3 sizing criteria: "; private void AddCriteriaLabel() { AddLabelToPanelIfNotAlreadyThere(criteriaLabel, criteriaLabel + dataGridView.Columns[2].AutoSizeMode.ToString() + "."); } private void AddContextLabel() { string labelName = "label"; AddLabelToPanelIfNotAlreadyThere(labelName, "Use shortcut menu to change cell color."); } private void AddLabelToPanelIfNotAlreadyThere( string labelName, string labelText) { Label label; if (FlowLayoutPanel1.Controls[labelName] == null) { label = new Label(); label.AutoSize = true; label.Name = labelName; label.BackColor = Color.Bisque; FlowLayoutPanel1.Controls.Add(label); } else { label = (Label)FlowLayoutPanel1.Controls[labelName]; } label.Text = labelText; } private void CustomizeCellsInThirdColumn() { int thirdColumn = 2; DataGridViewColumn column = dataGridView.Columns[thirdColumn]; DataGridViewCell cell = new DataGridViewTextBoxCell(); cell.Style.BackColor = Color.Wheat; column.CellTemplate = cell; } ToolStripMenuItem toolStripItem1 = new ToolStripMenuItem(); private void AddContextMenu() { toolStripItem1.Text = "Redden"; toolStripItem1.Click += new EventHandler(toolStripItem1_Click); ContextMenuStrip strip = new ContextMenuStrip(); foreach (DataGridViewColumn column in dataGridView.Columns) { column.ContextMenuStrip = strip; column.ContextMenuStrip.Items.Add(toolStripItem1); } } private DataGridViewCellEventArgs mouseLocation; // Change the cell's color. private void toolStripItem1_Click(object sender, EventArgs args) { dataGridView.Rows[mouseLocation.RowIndex] .Cells[mouseLocation.ColumnIndex].Style.BackColor = Color.Red; } // Deal with hovering over a cell. private void dataGridView_CellMouseEnter(object sender, DataGridViewCellEventArgs location) { mouseLocation = location; } private void SetDefaultCellInFirstColumn() { DataGridViewColumn firstColumn = dataGridView.Columns[0]; DataGridViewCellStyle cellStyle = new DataGridViewCellStyle(); cellStyle.BackColor = Color.Thistle; firstColumn.DefaultCellStyle = cellStyle; } private void ToolTips() { DataGridViewColumn firstColumn = dataGridView.Columns[0]; DataGridViewColumn thirdColumn = dataGridView.Columns[2]; firstColumn.ToolTipText = "This column uses a default cell."; thirdColumn.ToolTipText = "This column uses a template cell." + " Style changes to one cell apply to all cells."; } private void AddAdditionalButtons() { AddButton(Button4, "Set Minimum Width of Column Two", new EventHandler(Button4_Click)); AddButton(Button5, "Set Width of Column One", new EventHandler(Button5_Click)); AddButton(Button6, "Autosize Third Column", new EventHandler(Button6_Click)); AddButton(Button7, "Add Thick Vertical Edge", new EventHandler(Button7_Click)); AddButton(Button8, "Style and Number Columns", new EventHandler(Button8_Click)); AddButton(Button9, "Change Column Header Text", new EventHandler(Button9_Click)); AddButton(Button10, "Swap First and Last Columns", new EventHandler(Button10_Click)); } private void AdjustDataGridViewSizing() { dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; } //Set the minimum width. private void Button4_Click(object sender , System.EventArgs e) { DataGridViewColumn column = dataGridView.Columns[1]; column.MinimumWidth = 40; } // Set the width. private void Button5_Click(object sender, System.EventArgs e) { DataGridViewColumn column = dataGridView.Columns[0]; column.Width = 60; } // AutoSize the third column. private void Button6_Click(object sender , System.EventArgs e) { DataGridViewColumn column = dataGridView.Columns[2]; column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; } // Set the vertical edge. private void Button7_Click(object sender , System.EventArgs e) { int thirdColumn = 2; DataGridViewColumn column = dataGridView.Columns[thirdColumn]; column.DividerWidth = 10; } // Style and number columns. private void Button8_Click(object sender , EventArgs args) { DataGridViewCellStyle style = new DataGridViewCellStyle(); style.Alignment = DataGridViewContentAlignment.MiddleCenter; style.ForeColor = Color.IndianRed; style.BackColor = Color.Ivory; foreach (DataGridViewColumn column in dataGridView.Columns) { column.HeaderCell.Value = column.Index.ToString(); column.HeaderCell.Style = style; } } // Change the text in the column header. private void Button9_Click(object sender , EventArgs args) { foreach (DataGridViewColumn column in dataGridView.Columns) { column.HeaderText = String.Concat("Column ", column.Index.ToString()); } } // Swap the last column with the first. private void Button10_Click(object sender, EventArgs args) { // Since display indexes are not necessarily unique to // each column (for example, multiple columns may have a // display index of zero) do the below to retrieve the // first and last column, rather than just swap the column // with DisplayIndex 0 with the column of the highest // DisplayIndex. DataGridViewColumnCollection columnCollection = dataGridView.Columns; DataGridViewColumn firstVisibleColumn = columnCollection.GetFirstColumn(DataGridViewElementStates.Visible); DataGridViewColumn lastVisibleColumn = columnCollection.GetLastColumn( DataGridViewElementStates.Visible, DataGridViewElementStates.None); int firstColumn_sIndex = firstVisibleColumn.DisplayIndex; firstVisibleColumn.DisplayIndex = lastVisibleColumn.DisplayIndex; lastVisibleColumn.DisplayIndex = firstColumn_sIndex; } // Updated the criteria label. private void dataGridView_AutoSizeColumnModeChanged(object sender, DataGridViewAutoSizeColumnModeEventArgs args) { args.Column.DataGridView.Parent. Controls["flowlayoutpanel"].Controls[criteriaLabel]. Text = criteriaLabel + args.Column.AutoSizeMode.ToString(); } #endregion [STAThreadAttribute()] public static void Main() { Application.Run(new DataGridViewColumnDemo()); } }

System.Windows.Forms.DataGridViewElement
System.Windows.Forms.DataGridViewBand
System.Windows.Forms.DataGridViewColumn
派生クラス


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewColumn コンストラクタ ()
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewColumn コンストラクタ (DataGridViewCell)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewColumn コンストラクタ

名前 | 説明 |
---|---|
DataGridViewColumn () | DataGridViewColumn クラスの新しいインスタンスを既定の状態に初期化します。 |
DataGridViewColumn (DataGridViewCell) | 既存の DataGridViewCell をテンプレートとして使用して、DataGridViewColumn クラスの新しいインスタンスを初期化します。 |

DataGridViewColumn プロパティ

名前 | 説明 | |
---|---|---|
![]() | AutoSizeMode | 列の幅を自動的に調整するときに使用するモードを取得または設定します。 |
![]() | CellTemplate | 新しいセルの作成に使用するテンプレートを取得または設定します。 |
![]() | CellType | セル テンプレートのランタイム型を取得します。 |
![]() | ContextMenuStrip | オーバーライドされます。 列のショートカット メニューを取得または設定します。 |
![]() | DataGridView | この要素に関連付けられている DataGridView コントロールを取得します。 ( DataGridViewElement から継承されます。) |
![]() | DataPropertyName | DataGridViewColumn がバインドされている、データ ソース プロパティの名前またはデータベースの列の名前を取得または設定します。 |
![]() | DefaultCellStyle | オーバーライドされます。 列の既定のセル スタイルを取得または設定します。 |
![]() | DefaultHeaderCellType | 既定のヘッダー セルのランタイム型を取得または設定します。 ( DataGridViewBand から継承されます。) |
![]() | Displayed | バンドが現在画面に表示されているかどうかを示す値を取得します。 ( DataGridViewBand から継承されます。) |
![]() | DisplayIndex | 現在表示されている列を基準とした列の表示順序を設定または取得します。 |
![]() | DividerWidth | 列の区分線の幅 (ピクセル数) を取得または設定します。 |
![]() | FillWeight | 列が、コントロール内の他の塗りつぶしモードの列の幅を基準とする塗りつぶしモードの場合、列の幅を表す値を取得または設定します。 |
![]() | Frozen | オーバーライドされます。 ユーザーが DataGridView コントロールを水平方向にスクロールしたときに列が移動するかどうかを示す値を取得または設定します。 |
![]() | HasDefaultCellStyle | DefaultCellStyle プロパティが設定されているかどうかを示す値を取得します。 ( DataGridViewBand から継承されます。) |
![]() | HeaderCell | 列ヘッダーを表す DataGridViewColumnHeaderCell を取得または設定します。 |
![]() | HeaderText | 列のヘッダー セルのキャプション テキストを取得または設定します。 |
![]() | Index | DataGridView コントロール内のバンドの相対位置を取得します。 ( DataGridViewBand から継承されます。) |
![]() | InheritedAutoSizeMode | 列に対して有効なサイズ変更モードを取得します。 |
![]() | InheritedStyle | オーバーライドされます。 列に現在適用されているセル スタイルを取得します。 |
![]() | IsDataBound | 列がデータ ソースにバインドされているかどうかを示す値を取得します。 |
![]() | MinimumWidth | 列の最小幅をピクセル単位で取得または設定します。 |
![]() | Name | 列の名前を取得または設定します。 |
![]() | ReadOnly | オーバーライドされます。 ユーザーが列のセルを編集できるかどうかを示す値を取得または設定します。 |
![]() | Resizable | オーバーライドされます。 列のサイズを変更できるかどうかを示す値を取得または設定します。 |
![]() | Selected | バンドが、選択されたユーザー インターフェイス (UI) 状態かどうかを示す値を取得または設定します。 ( DataGridViewBand から継承されます。) |
![]() | Site | 列のサイトを取得または設定します。 |
![]() | SortMode | 列の並べ替えモードを取得または設定します。 |
![]() | State | 要素のユーザー インターフェイス (UI) の状態を取得します。 ( DataGridViewElement から継承されます。) |
![]() | Tag | バンドに関連付けられているデータを含むオブジェクトを取得または設定します。 ( DataGridViewBand から継承されます。) |
![]() | ToolTipText | ツールヒントに使用されるテキストを取得または設定します。 |
![]() | ValueType | 列のセルの値のデータ型を取得または設定します。 |
![]() | Visible | オーバーライドされます。 列を表示するかどうかを示す値を取得または設定します。 |
![]() | Width | 列の現在の幅を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | HeaderCellCore | DataGridViewBand のヘッダー セルを取得または設定します。 ( DataGridViewBand から継承されます。) |
![]() | IsRow | バンドが行を表すかどうかを示す値を取得します。 ( DataGridViewBand から継承されます。) |

DataGridViewColumn メソッド

名前 | 説明 | |
---|---|---|
![]() | Clone | オーバーライドされます。 |
![]() | Dispose | オーバーロードされます。 DataGridViewColumn によって使用されているすべてのリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetPreferredWidth | 指定した基準に基づいて、列の適切な幅を計算します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーライドされます。 列を説明する文字列を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 オーバーライドされます。 DataGridViewColumn によって使用されているすべてのリソースを解放します。 |
![]() | Finalize | バンドに関連付けられたリソースを解放します。 ( DataGridViewBand から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | OnDataGridViewChanged | バンドが別の DataGridView に関連付けられている場合に呼び出されます。 ( DataGridViewBand から継承されます。) |
![]() | RaiseCellClick | DataGridView.CellClick イベントを発生させます。 ( DataGridViewElement から継承されます。) |
![]() | RaiseCellContentClick | DataGridView.CellContentClick イベントを発生させます。 ( DataGridViewElement から継承されます。) |
![]() | RaiseCellContentDoubleClick | DataGridView.CellContentDoubleClick イベントを発生させます。 ( DataGridViewElement から継承されます。) |
![]() | RaiseCellValueChanged | DataGridView.CellValueChanged イベントを発生させます。 ( DataGridViewElement から継承されます。) |
![]() | RaiseDataError | DataGridView.DataError イベントを発生させます。 ( DataGridViewElement から継承されます。) |
![]() | RaiseMouseWheel | Control.MouseWheel イベントを発生させます。 ( DataGridViewElement から継承されます。) |

DataGridViewColumn メンバ
DataGridViewColumn データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | AutoSizeMode | 列の幅を自動的に調整するときに使用するモードを取得または設定します。 |
![]() | CellTemplate | 新しいセルの作成に使用するテンプレートを取得または設定します。 |
![]() | CellType | セル テンプレートのランタイム型を取得します。 |
![]() | ContextMenuStrip | オーバーライドされます。 列のショートカット メニューを取得または設定します。 |
![]() | DataGridView | この要素に関連付けられている DataGridView コントロールを取得します。(DataGridViewElement から継承されます。) |
![]() | DataPropertyName | DataGridViewColumn がバインドされている、データ ソース プロパティの名前またはデータベースの列の名前を取得または設定します。 |
![]() | DefaultCellStyle | オーバーライドされます。 列の既定のセル スタイルを取得または設定します。 |
![]() | DefaultHeaderCellType | 既定のヘッダー セルのランタイム型を取得または設定します。(DataGridViewBand から継承されます。) |
![]() | Displayed | バンドが現在画面に表示されているかどうかを示す値を取得します。 (DataGridViewBand から継承されます。) |
![]() | DisplayIndex | 現在表示されている列を基準とした列の表示順序を設定または取得します。 |
![]() | DividerWidth | 列の区分線の幅 (ピクセル数) を取得または設定します。 |
![]() | FillWeight | 列が、コントロール内の他の塗りつぶしモードの列の幅を基準とする塗りつぶしモードの場合、列の幅を表す値を取得または設定します。 |
![]() | Frozen | オーバーライドされます。 ユーザーが DataGridView コントロールを水平方向にスクロールしたときに列が移動するかどうかを示す値を取得または設定します。 |
![]() | HasDefaultCellStyle | DefaultCellStyle プロパティが設定されているかどうかを示す値を取得します。 (DataGridViewBand から継承されます。) |
![]() | HeaderCell | 列ヘッダーを表す DataGridViewColumnHeaderCell を取得または設定します。 |
![]() | HeaderText | 列のヘッダー セルのキャプション テキストを取得または設定します。 |
![]() | Index | DataGridView コントロール内のバンドの相対位置を取得します。(DataGridViewBand から継承されます。) |
![]() | InheritedAutoSizeMode | 列に対して有効なサイズ変更モードを取得します。 |
![]() | InheritedStyle | オーバーライドされます。 列に現在適用されているセル スタイルを取得します。 |
![]() | IsDataBound | 列がデータ ソースにバインドされているかどうかを示す値を取得します。 |
![]() | MinimumWidth | 列の最小幅をピクセル単位で取得または設定します。 |
![]() | Name | 列の名前を取得または設定します。 |
![]() | ReadOnly | オーバーライドされます。 ユーザーが列のセルを編集できるかどうかを示す値を取得または設定します。 |
![]() | Resizable | オーバーライドされます。 列のサイズを変更できるかどうかを示す値を取得または設定します。 |
![]() | Selected | バンドが、選択されたユーザー インターフェイス (UI) 状態かどうかを示す値を取得または設定します。(DataGridViewBand から継承されます。) |
![]() | Site | 列のサイトを取得または設定します。 |
![]() | SortMode | 列の並べ替えモードを取得または設定します。 |
![]() | State | 要素のユーザー インターフェイス (UI) の状態を取得します。(DataGridViewElement から継承されます。) |
![]() | Tag | バンドに関連付けられているデータを含むオブジェクトを取得または設定します。(DataGridViewBand から継承されます。) |
![]() | ToolTipText | ツールヒントに使用されるテキストを取得または設定します。 |
![]() | ValueType | 列のセルの値のデータ型を取得または設定します。 |
![]() | Visible | オーバーライドされます。 列を表示するかどうかを示す値を取得または設定します。 |
![]() | Width | 列の現在の幅を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | HeaderCellCore | DataGridViewBand のヘッダー セルを取得または設定します。(DataGridViewBand から継承されます。) |
![]() | IsRow | バンドが行を表すかどうかを示す値を取得します。(DataGridViewBand から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Clone | オーバーライドされます。 |
![]() | Dispose | オーバーロードされます。 DataGridViewColumn によって使用されているすべてのリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetPreferredWidth | 指定した基準に基づいて、列の適切な幅を計算します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーライドされます。 列を説明する文字列を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 オーバーライドされます。 DataGridViewColumn によって使用されているすべてのリソースを解放します。 |
![]() | Finalize | バンドに関連付けられたリソースを解放します。 (DataGridViewBand から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | OnDataGridViewChanged | バンドが別の DataGridView に関連付けられている場合に呼び出されます。 (DataGridViewBand から継承されます。) |
![]() | RaiseCellClick | DataGridView.CellClick イベントを発生させます。 (DataGridViewElement から継承されます。) |
![]() | RaiseCellContentClick | DataGridView.CellContentClick イベントを発生させます。 (DataGridViewElement から継承されます。) |
![]() | RaiseCellContentDoubleClick | DataGridView.CellContentDoubleClick イベントを発生させます。 (DataGridViewElement から継承されます。) |
![]() | RaiseCellValueChanged | DataGridView.CellValueChanged イベントを発生させます。 (DataGridViewElement から継承されます。) |
![]() | RaiseDataError | DataGridView.DataError イベントを発生させます。 (DataGridViewElement から継承されます。) |
![]() | RaiseMouseWheel | Control.MouseWheel イベントを発生させます。 (DataGridViewElement から継承されます。) |


Weblioに収録されているすべての辞書からDataGridViewColumnを検索する場合は、下記のリンクをクリックしてください。

- DataGridViewColumnのページへのリンク