DataGridViewButtonColumn Class
TOC
Collapse the table of content
Expand the table of content

DataGridViewButtonColumn Class

 

Hosts a collection of DataGridViewButtonCell objects.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

System.Object
  System.Windows.Forms.DataGridViewElement
    System.Windows.Forms.DataGridViewBand
      System.Windows.Forms.DataGridViewColumn
        System.Windows.Forms.DataGridViewButtonColumn

<ToolboxBitmapAttribute(GetType(DataGridViewButtonColumn), "DataGridViewButtonColumn.bmp")>
Public Class DataGridViewButtonColumn
	Inherits DataGridViewColumn

NameDescription
System_CAPS_pubmethodDataGridViewButtonColumn()

Initializes a new instance of the DataGridViewButtonColumn class to the default state.

NameDescription
System_CAPS_pubpropertyAutoSizeMode

Gets or sets the mode by which the column automatically adjusts its width.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyCellTemplate

Gets or sets the template used to create new cells.(Overrides DataGridViewColumn.CellTemplate.)

System_CAPS_pubpropertyCellType

Gets the run-time type of the cell template.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyContextMenuStrip

Gets or sets the shortcut menu for the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyDataGridView

Gets the DataGridView control associated with this element.(Inherited from DataGridViewElement.)

System_CAPS_pubpropertyDataPropertyName

Gets or sets the name of the data source property or database column to which the DataGridViewColumn is bound.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyDefaultCellStyle

Gets or sets the column's default cell style.(Overrides DataGridViewColumn.DefaultCellStyle.)

System_CAPS_pubpropertyDefaultHeaderCellType

Gets or sets the run-time type of the default header cell.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertyDisplayed

Gets a value indicating whether the band is currently displayed onscreen. (Inherited from DataGridViewBand.)

System_CAPS_pubpropertyDisplayIndex

Gets or sets the display order of the column relative to the currently displayed columns.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyDividerWidth

Gets or sets the width, in pixels, of the column divider.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyFillWeight

Gets or sets a value that represents the width of the column when it is in fill mode relative to the widths of other fill-mode columns in the control.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyFlatStyle

Gets or sets the flat-style appearance of the button cells in the column.

System_CAPS_pubpropertyFrozen

Gets or sets a value indicating whether a column will move when a user scrolls the DataGridView control horizontally.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyHasDefaultCellStyle

Gets a value indicating whether the DefaultCellStyle property has been set. (Inherited from DataGridViewBand.)

System_CAPS_pubpropertyHeaderCell

Gets or sets the DataGridViewColumnHeaderCell that represents the column header.(Inherited from DataGridViewColumn.)

System_CAPS_protpropertyHeaderCellCore

Gets or sets the header cell of the DataGridViewBand.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertyHeaderText

Gets or sets the caption text on the column's header cell.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyIndex

Gets the relative position of the band within the DataGridView control.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertyInheritedAutoSizeMode

Gets the sizing mode in effect for the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyInheritedStyle

Gets the cell style currently applied to the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyIsDataBound

Gets a value indicating whether the column is bound to a data source.(Inherited from DataGridViewColumn.)

System_CAPS_protpropertyIsRow

Gets a value indicating whether the band represents a row.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertyMinimumWidth

Gets or sets the minimum width, in pixels, of the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyName

Gets or sets the name of the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyReadOnly

Gets or sets a value indicating whether the user can edit the column's cells.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyResizable

Gets or sets a value indicating whether the column is resizable.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertySelected

Gets or sets a value indicating whether the band is in a selected user interface (UI) state.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertySite

This API supports the product infrastructure and is not intended to be used directly from your code. Gets or sets the site of the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertySortMode

Gets or sets the sort mode for the column.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyState

Gets the user interface (UI) state of the element.(Inherited from DataGridViewElement.)

System_CAPS_pubpropertyTag

Gets or sets the object that contains data to associate with the band.(Inherited from DataGridViewBand.)

System_CAPS_pubpropertyText

Gets or sets the default text displayed on the button cell.

System_CAPS_pubpropertyToolTipText

Gets or sets the text used for ToolTips.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyUseColumnTextForButtonValue

Gets or sets a value indicating whether the Text property value is displayed as the button text for cells in this column.

System_CAPS_pubpropertyValueType

Gets or sets the data type of the values in the column's cells.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyVisible

Gets or sets a value indicating whether the column is visible.(Inherited from DataGridViewColumn.)

System_CAPS_pubpropertyWidth

Gets or sets the current width of the column.(Inherited from DataGridViewColumn.)

NameDescription
System_CAPS_pubmethodClone()

Creates an exact copy of this column.(Overrides DataGridViewColumn.Clone().)

System_CAPS_pubmethodDispose()

Releases all resources used by the DataGridViewBand. (Inherited from DataGridViewBand.)

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the DataGridViewBand and optionally releases the managed resources.(Inherited from DataGridViewColumn.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Releases the resources associated with the band.(Inherited from DataGridViewBand.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetPreferredWidth(DataGridViewAutoSizeColumnMode, Boolean)

Calculates the ideal width of the column based on the specified criteria.(Inherited from DataGridViewColumn.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnDataGridViewChanged()

Called when the band is associated with a different DataGridView.(Inherited from DataGridViewBand.)

System_CAPS_protmethodRaiseCellClick(DataGridViewCellEventArgs)

Raises the DataGridView.CellClick event. (Inherited from DataGridViewElement.)

System_CAPS_protmethodRaiseCellContentClick(DataGridViewCellEventArgs)

Raises the DataGridView.CellContentClick event. (Inherited from DataGridViewElement.)

System_CAPS_protmethodRaiseCellContentDoubleClick(DataGridViewCellEventArgs)

Raises the DataGridView.CellContentDoubleClick event. (Inherited from DataGridViewElement.)

System_CAPS_protmethodRaiseCellValueChanged(DataGridViewCellEventArgs)

Raises the DataGridView.CellValueChanged event. (Inherited from DataGridViewElement.)

System_CAPS_protmethodRaiseDataError(DataGridViewDataErrorEventArgs)

Raises the DataGridView.DataError event. (Inherited from DataGridViewElement.)

System_CAPS_protmethodRaiseMouseWheel(MouseEventArgs)

Raises the Control.MouseWheel event. (Inherited from DataGridViewElement.)

System_CAPS_pubmethodToString()

Gets a string that describes the column.(Overrides DataGridViewColumn.ToString().)

NameDescription
System_CAPS_pubeventDisposed

Occurs when the DataGridViewColumn is disposed.(Inherited from DataGridViewColumn.)

The DataGridViewButtonColumn class is a specialized type of the DataGridViewColumn class used to logically host cells that respond to simple user input. A DataGridViewButtonColumn has an associated DataGridViewButtonCell in every DataGridViewRow that intersects it. Each cell supplies a user interface (UI) that is similar to a Button control.

To display the same button text for every cell, set the UseColumnTextForButtonValue property to true and set the Text property to the desired button text.

The default sort mode for this column type is NotSortable.

To respond to user button clicks, handle the DataGridView.CellClick or DataGridView.CellContentClick event. In the event handler, you can use the DataGridViewCellEventArgs.ColumnIndex property to determine whether the click occurred in the button column. You can use the DataGridViewCellEventArgs.RowIndex property to determine whether the click occurred in a button cell and not on the column header.

System_CAPS_noteNote

When visual styles are enabled, the buttons in a button column are painted using a ButtonRenderer, and cell styles specified through properties such as DefaultCellStyle have no effect.

Notes to Inheritors:

When you derive from DataGridViewButtonColumn and add new properties to the derived class, be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell.

The following code example demonstrates how to use a DataGridViewButtonColumn to perform actions on particular rows. In this example, a DataGridView.CellClick event handler first determines whether a click is on a button cell, then retrieves a business object associated with the row. This example is part of a larger example available in How to: Access Objects in a Windows Forms DataGridViewComboBoxCell Drop-Down List.

Public Class Form1
    Inherits Form

    Private employees As New List(Of Employee)
    Private tasks As New List(Of Task)
    Private WithEvents reportButton As New Button
    Private WithEvents dataGridView1 As New DataGridView

    <STAThread()> _
    Public Sub Main()
        Application.Run(New Form1)
    End Sub

    Sub New()
        dataGridView1.Dock = DockStyle.Fill
        dataGridView1.AutoSizeColumnsMode = _
            DataGridViewAutoSizeColumnsMode.AllCells
        reportButton.Text = "Generate Report"
        reportButton.Dock = DockStyle.Top

        Controls.Add(dataGridView1)
        Controls.Add(reportButton)
        Text = "DataGridViewComboBoxColumn Demo"
    End Sub

    ' Initializes the data source and populates the DataGridView control.
    Private Sub Form1_Load(ByVal sender As Object, _
        ByVal e As EventArgs) Handles Me.Load

        PopulateLists()
        dataGridView1.AutoGenerateColumns = False
        dataGridView1.DataSource = tasks
        AddColumns()

    End Sub

    ' Populates the employees and tasks lists. 
    Private Sub PopulateLists()
        employees.Add(New Employee("Harry"))
        employees.Add(New Employee("Sally"))
        employees.Add(New Employee("Roy"))
        employees.Add(New Employee("Pris"))
        tasks.Add(New Task(1, employees(1)))
        tasks.Add(New Task(2))
        tasks.Add(New Task(3, employees(2)))
        tasks.Add(New Task(4))
    End Sub

    ' Configures columns for the DataGridView control.
    Private Sub AddColumns()

        Dim idColumn As New DataGridViewTextBoxColumn()
        idColumn.Name = "Task"
        idColumn.DataPropertyName = "Id"
        idColumn.ReadOnly = True

        Dim assignedToColumn As New DataGridViewComboBoxColumn()

        ' Populate the combo box drop-down list with Employee objects. 
        For Each e As Employee In employees
            assignedToColumn.Items.Add(e)
        Next

        ' Add "unassigned" to the drop-down list and display it for 
        ' empty AssignedTo values or when the user presses CTRL+0. 
        assignedToColumn.Items.Add("unassigned")
        assignedToColumn.DefaultCellStyle.NullValue = "unassigned"

        assignedToColumn.Name = "Assigned To"
        assignedToColumn.DataPropertyName = "AssignedTo"
        assignedToColumn.AutoComplete = True
        assignedToColumn.DisplayMember = "Name"
        assignedToColumn.ValueMember = "Self"

        ' Add a button column. 
        Dim buttonColumn As New DataGridViewButtonColumn()
        buttonColumn.HeaderText = ""
        buttonColumn.Name = "Status Request"
        buttonColumn.Text = "Request Status"
        buttonColumn.UseColumnTextForButtonValue = True

        dataGridView1.Columns.Add(idColumn)
        dataGridView1.Columns.Add(assignedToColumn)
        dataGridView1.Columns.Add(buttonColumn)

    End Sub

    ' Reports on task assignments. 
    Private Sub reportButton_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles reportButton.Click

        Dim report As New StringBuilder()
        For Each t As Task In tasks
            Dim assignment As String
            If t.AssignedTo Is Nothing Then
                assignment = "unassigned"
            Else
                assignment = "assigned to " + t.AssignedTo.Name
            End If
            report.AppendFormat("Task {0} is {1}.", t.Id, assignment)
            report.Append(Environment.NewLine)
        Next
        MessageBox.Show(report.ToString(), "Task Assignments")

    End Sub

    ' Calls the Employee.RequestStatus method.
    Private Sub dataGridView1_CellClick(ByVal sender As Object, _
        ByVal e As DataGridViewCellEventArgs) _
        Handles dataGridView1.CellClick

        ' Ignore clicks that are not on button cells. 
        If e.RowIndex < 0 OrElse Not e.ColumnIndex = _
            dataGridView1.Columns("Status Request").Index Then Return

        ' Retrieve the task ID.
        Dim taskID As Int32 = CInt(dataGridView1(0, e.RowIndex).Value)

        ' Retrieve the Employee object from the "Assigned To" cell.
        Dim assignedTo As Employee = TryCast(dataGridView1.Rows(e.RowIndex) _
            .Cells("Assigned To").Value, Employee)

        ' Request status through the Employee object if present. 
        If assignedTo IsNot Nothing Then
            assignedTo.RequestStatus(taskID)
        Else
            MessageBox.Show(String.Format( _
                "Task {0} is unassigned.", taskID), "Status Request")
        End If

    End Sub

End Class

.NET Framework
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft