DataGridViewButtonColumn Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Enthält eine Auflistung von DataGridViewButtonCell-Objekten.
public ref class DataGridViewButtonColumn : System::Windows::Forms::DataGridViewColumn
[System.Drawing.ToolboxBitmap(typeof(System.Windows.Forms.DataGridViewButtonColumn), "DataGridViewButtonColumn.bmp")]
public class DataGridViewButtonColumn : System.Windows.Forms.DataGridViewColumn
[System.Drawing.ToolboxBitmap(typeof(System.Windows.Forms.DataGridViewButtonColumn), "DataGridViewButtonColumn")]
public class DataGridViewButtonColumn : System.Windows.Forms.DataGridViewColumn
[<System.Drawing.ToolboxBitmap(typeof(System.Windows.Forms.DataGridViewButtonColumn), "DataGridViewButtonColumn.bmp")>]
type DataGridViewButtonColumn = class
inherit DataGridViewColumn
[<System.Drawing.ToolboxBitmap(typeof(System.Windows.Forms.DataGridViewButtonColumn), "DataGridViewButtonColumn")>]
type DataGridViewButtonColumn = class
inherit DataGridViewColumn
Public Class DataGridViewButtonColumn
Inherits DataGridViewColumn
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine DataGridViewButtonColumn verwenden, um Aktionen für bestimmte Zeilen auszuführen. In diesem Beispiel bestimmt ein DataGridView.CellClick Ereignishandler zunächst, ob ein Klick auf eine Schaltflächenzelle erfolgt, und ruft dann ein der Zeile zugeordnetes Geschäftsobjekt ab. Dieses Beispiel ist Teil eines größeren Beispiels, das unter How to: Access Objects in a Windows Forms DataGridViewComboBoxCell Drop-Down List verfügbar ist.
public class Form1 : Form
{
private List<Employee> employees = new List<Employee>();
private List<Task> tasks = new List<Task>();
private Button reportButton = new Button();
private DataGridView dataGridView1 = new DataGridView();
[STAThread]
public static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
reportButton.Text = "Generate Report";
reportButton.Dock = DockStyle.Top;
reportButton.Click += new EventHandler(reportButton_Click);
Controls.Add(dataGridView1);
Controls.Add(reportButton);
Load += new EventHandler(Form1_Load);
Text = "DataGridViewComboBoxColumn Demo";
}
// Initializes the data source and populates the DataGridView control.
private void Form1_Load(object sender, EventArgs e)
{
PopulateLists();
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = tasks;
AddColumns();
}
// Populates the employees and tasks lists.
private void 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));
}
// Configures columns for the DataGridView control.
private void AddColumns()
{
DataGridViewTextBoxColumn idColumn =
new DataGridViewTextBoxColumn();
idColumn.Name = "Task";
idColumn.DataPropertyName = "Id";
idColumn.ReadOnly = true;
DataGridViewComboBoxColumn assignedToColumn =
new DataGridViewComboBoxColumn();
// Populate the combo box drop-down list with Employee objects.
foreach (Employee e in employees) assignedToColumn.Items.Add(e);
// 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.
DataGridViewButtonColumn buttonColumn =
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);
// Add a CellClick handler to handle clicks in the button column.
dataGridView1.CellClick +=
new DataGridViewCellEventHandler(dataGridView1_CellClick);
}
// Reports on task assignments.
private void reportButton_Click(object sender, EventArgs e)
{
StringBuilder report = new StringBuilder();
foreach (Task t in tasks)
{
String assignment =
t.AssignedTo == null ?
"unassigned" : "assigned to " + t.AssignedTo.Name;
report.AppendFormat("Task {0} is {1}.", t.Id, assignment);
report.Append(Environment.NewLine);
}
MessageBox.Show(report.ToString(), "Task Assignments");
}
// Calls the Employee.RequestStatus method.
void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// Ignore clicks that are not on button cells.
if (e.RowIndex < 0 || e.ColumnIndex !=
dataGridView1.Columns["Status Request"].Index) return;
// Retrieve the task ID.
Int32 taskID = (Int32)dataGridView1[0, e.RowIndex].Value;
// Retrieve the Employee object from the "Assigned To" cell.
Employee assignedTo = dataGridView1.Rows[e.RowIndex]
.Cells["Assigned To"].Value as Employee;
// Request status through the Employee object if present.
if (assignedTo != null)
{
assignedTo.RequestStatus(taskID);
}
else
{
MessageBox.Show(String.Format(
"Task {0} is unassigned.", taskID), "Status Request");
}
}
}
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
Hinweise
Die DataGridViewButtonColumn -Klasse ist ein spezialisierter Typ der Klasse, die DataGridViewColumn zum logischen Hosten von Zellen verwendet wird, die auf einfache Benutzereingaben reagieren. A DataGridViewButtonColumn hat in jeder DataGridViewRow eine zugeordneteDataGridViewButtonCell, die es überschneidet. Jede Zelle stellt eine Benutzeroberfläche bereit, die einem Button Steuerelement ähnelt.
Um denselben Schaltflächentext für jede Zelle anzuzeigen, legen Sie die UseColumnTextForButtonValue Eigenschaft auf true
fest, und legen Sie die Text Eigenschaft auf den gewünschten Schaltflächentext fest.
Der Standardsortiermodus für diesen Spaltentyp ist NotSortable.
Um auf Benutzerschaltflächenklicks zu reagieren, behandeln Sie das DataGridView.CellClick Ereignis oder DataGridView.CellContentClick . Im Ereignishandler können Sie mithilfe der DataGridViewCellEventArgs.ColumnIndex -Eigenschaft bestimmen, ob der Klick in der Schaltflächenspalte erfolgt ist. Sie können die DataGridViewCellEventArgs.RowIndex -Eigenschaft verwenden, um zu bestimmen, ob der Klick in einer Schaltflächenzelle und nicht in der Spaltenüberschrift erfolgt ist.
Hinweis
Wenn visuelle Stile aktiviert sind, werden die Schaltflächen in einer Schaltflächenspalte mit einem ButtonRenderergezeichnet, und die zellbasierten Stile, die über Eigenschaften wie DefaultCellStyle z. B. keine Auswirkung angegeben werden, haben keine Auswirkungen.
Hinweise für Vererber
Wenn Sie von DataGridViewButtonColumn der abgeleiteten Klasse abgeleitet und der abgeleiteten Klasse neue Eigenschaften hinzufügen, müssen Sie die Clone() -Methode überschreiben, um die neuen Eigenschaften während Klonvorgängen zu kopieren. Sie sollten auch die Methode der Basisklasse Clone() aufrufen, damit die Eigenschaften der Basisklasse in die neue Zelle kopiert werden.
Konstruktoren
DataGridViewButtonColumn() |
Initialisiert eine neue Instanz der DataGridViewButtonColumn-Klasse im Standardzustand. |
Eigenschaften
AutoSizeMode |
Ruft den Modus ab, in dem die Spalte automatisch ihre Breite anpasst, oder legt diesen Modus fest. (Geerbt von DataGridViewColumn) |
CellTemplate |
Ruft die zum Erstellen neuer Zellen verwendete Vorlage ab oder legt diese fest. |
CellType |
Ruft den Laufzeittyp der Zellvorlage ab. (Geerbt von DataGridViewColumn) |
ContextMenuStrip |
Ruft das Kontextmenü für die Spalte ab oder legt dieses fest. (Geerbt von DataGridViewColumn) |
DataGridView |
Ruft das diesem Element zugeordnete DataGridView-Steuerelement ab. (Geerbt von DataGridViewElement) |
DataPropertyName |
Ruft den Namen der Datenquelleneigenschaft oder Datenbankspalte ab, an die DataGridViewColumn gebunden ist, oder legt diesen Namen fest. (Geerbt von DataGridViewColumn) |
DefaultCellStyle |
Ruft das Standardzellenformat der Spalte ab oder legt dieses fest. |
DefaultHeaderCellType |
Ruft den Laufzeittyp der Standardheaderzelle ab oder legt diesen fest. (Geerbt von DataGridViewBand) |
Displayed |
Ruft einen Wert ab, der angibt, ob das Band gegenwärtig auf dem Bildschirm angezeigt wird. (Geerbt von DataGridViewBand) |
DisplayIndex |
Ruft die Anzeigereihenfolge der Spalte relativ zu den derzeit angezeigten Spalten ab oder legt sie fest. (Geerbt von DataGridViewColumn) |
DividerWidth |
Ruft die Breite des Spaltenunterteilers in Pixel ab oder legt sie fest. (Geerbt von DataGridViewColumn) |
FillWeight |
Ruft einen Wert ab, der die Breite der Spalte im Füllmodus relativ zur Breite anderer im Steuerelement vorhandener Spalten im Füllmodus darstellt, oder legt diesen Wert fest. (Geerbt von DataGridViewColumn) |
FlatStyle |
Ruft die flache Darstellung der Schaltflächenzellen in der Spalte ab oder legt diese fest. |
Frozen |
Ruft einen Wert ab, der angibt, ob eine Spalte verschoben wird, wenn ein Benutzer einen horizontalen Bildlauf durch das DataGridView-Steuerelement durchführt, oder legt diesen Wert fest. (Geerbt von DataGridViewColumn) |
HasDefaultCellStyle |
Ruft einen Wert ab, der angibt, ob die DefaultCellStyle-Eigenschaft festgelegt wurde. (Geerbt von DataGridViewBand) |
HeaderCell |
Ruft die DataGridViewColumnHeaderCell ab, die den Spaltenheader darstellt, oder legt sie fest. (Geerbt von DataGridViewColumn) |
HeaderCellCore |
Ruft die Headerzelle von DataGridViewBand ab oder legt diese fest. (Geerbt von DataGridViewBand) |
HeaderText |
Ruft den Beschriftungstext für die Headerzelle der Spalte ab oder legt ihn fest. (Geerbt von DataGridViewColumn) |
Index |
Ruft die relative Position des Bands im DataGridView-Steuerelement ab. (Geerbt von DataGridViewBand) |
InheritedAutoSizeMode |
Ruft den für die Spalte gültigen Modus zum Festlegen der Größe ab. (Geerbt von DataGridViewColumn) |
InheritedStyle |
Ruft den Zellstil ab, der gegenwärtig auf die Spalte angewendet wird. (Geerbt von DataGridViewColumn) |
IsDataBound |
Ruft einen Wert ab, der angibt, ob die Spalte an eine Datenquelle gebunden ist. (Geerbt von DataGridViewColumn) |
IsRow |
Ruft einen Wert ab, der angibt, ob das Band eine Zeile darstellt. (Geerbt von DataGridViewBand) |
MinimumWidth |
Ruft die minimale Breite der Spalte in Pixel ab oder legt sie fest. (Geerbt von DataGridViewColumn) |
Name |
Ruft den Namen der Spalte ab oder legt ihn fest. (Geerbt von DataGridViewColumn) |
ReadOnly |
Ruft einen Wert ab, der angibt, ob der Benutzer die Zellen der Spalte bearbeiten kann, oder legt diesen Wert fest. (Geerbt von DataGridViewColumn) |
Resizable |
Ruft einen Wert ab, der angibt, ob die Größe der Spalte geändert werden kann, oder legt diesen fest. (Geerbt von DataGridViewColumn) |
Selected |
Ruft einen Wert ab, der angibt, ob sich das Band in einem ausgewählten Benutzeroberflächenzustand befindet, oder legt diesen Wert fest. (Geerbt von DataGridViewBand) |
Site |
Ruft die Site der Spalte ab oder legt sie fest. (Geerbt von DataGridViewColumn) |
SortMode |
Ruft den Sortiermodus für die Spalte ab oder legt diesen fest. (Geerbt von DataGridViewColumn) |
State |
Ruft den Benutzeroberflächenzustand des Elements ab. (Geerbt von DataGridViewElement) |
Tag |
Ruft das Objekt ab, das dem Band zuzuordnende Daten enthält, oder legt dieses fest. (Geerbt von DataGridViewBand) |
Text |
Ruft den Standardtext ab, der in der Schaltflächenzelle angezeigt wird, oder legt diesen fest. |
ToolTipText |
Ruft den für QuickInfos verwendeten Text ab oder legt diesen fest. (Geerbt von DataGridViewColumn) |
UseColumnTextForButtonValue |
Ruft einen Wert ab, der angibt, ob der Text-Eigenschaftswert für Zellen in dieser Spalte als Schaltflächentext angezeigt wird, oder legt diesen fest. |
ValueType |
Ruft den Datentyp der Werte in den Zellen der Spalte ab oder legt ihn fest. (Geerbt von DataGridViewColumn) |
Visible |
Ruft einen Wert ab, der angibt, ob die Spalte sichtbar ist, oder legt ihn fest. (Geerbt von DataGridViewColumn) |
Width |
Ruft die aktuelle Breite der Spalte ab oder legt sie fest. (Geerbt von DataGridViewColumn) |
Methoden
Clone() |
Erstellt eine genaue Kopie dieser Spalte. |
Dispose() |
Gibt alle vom DataGridViewBand verwendeten Ressourcen frei. (Geerbt von DataGridViewBand) |
Dispose(Boolean) |
Gibt die von DataGridViewBand verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Geerbt von DataGridViewColumn) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetPreferredWidth(DataGridViewAutoSizeColumnMode, Boolean) |
Berechnet die ideale Breite der Spalte auf der Grundlage der angegebenen Kriterien. (Geerbt von DataGridViewColumn) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnDataGridViewChanged() |
Wird aufgerufen, wenn das Band einer anderen DataGridView zugeordnet wird. (Geerbt von DataGridViewBand) |
RaiseCellClick(DataGridViewCellEventArgs) |
Löst das CellClick-Ereignis aus. (Geerbt von DataGridViewElement) |
RaiseCellContentClick(DataGridViewCellEventArgs) |
Löst das CellContentClick-Ereignis aus. (Geerbt von DataGridViewElement) |
RaiseCellContentDoubleClick(DataGridViewCellEventArgs) |
Löst das CellContentDoubleClick-Ereignis aus. (Geerbt von DataGridViewElement) |
RaiseCellValueChanged(DataGridViewCellEventArgs) |
Löst das CellValueChanged-Ereignis aus. (Geerbt von DataGridViewElement) |
RaiseDataError(DataGridViewDataErrorEventArgs) |
Löst das DataError-Ereignis aus. (Geerbt von DataGridViewElement) |
RaiseMouseWheel(MouseEventArgs) |
Löst das MouseWheel-Ereignis aus. (Geerbt von DataGridViewElement) |
ToString() |
Ruft eine Zeichenfolge ab, die die Spalte beschreibt. |
Ereignisse
Disposed |
Tritt ein, wenn die DataGridViewColumn freigegeben ist. (Geerbt von DataGridViewColumn) |