DataGridViewButtonColumn Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menghosting DataGridViewButtonCell kumpulan objek.
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
- Warisan
- Atribut
Contoh
Contoh kode berikut menunjukkan cara menggunakan DataGridViewButtonColumn untuk melakukan tindakan pada baris tertentu. Dalam contoh ini, DataGridView.CellClick penanganan aktivitas terlebih dahulu menentukan apakah klik ada pada sel tombol, lalu mengambil objek bisnis yang terkait dengan baris. Contoh ini adalah bagian dari contoh yang lebih besar yang tersedia di Cara: Mengakses Objek dalam Daftar Drop-Down DataGridViewComboBoxCell Formulir Windows.
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
Keterangan
Kelas DataGridViewButtonColumn adalah jenis kelas khusus yang DataGridViewColumn digunakan untuk menghosting sel secara logis yang merespons input pengguna sederhana. DataGridViewButtonColumn A memiliki yang terkait DataGridViewButtonCell dalam setiap DataGridViewRow yang bersinggungan dengannya. Setiap sel memasok antarmuka pengguna (UI) yang mirip Button dengan kontrol.
Untuk menampilkan teks tombol yang sama untuk setiap sel, atur UseColumnTextForButtonValue properti ke true
dan atur Text properti ke teks tombol yang diinginkan.
Mode pengurutan default untuk jenis kolom ini adalah NotSortable.
Untuk merespons klik tombol pengguna, tangani DataGridView.CellClick acara atau DataGridView.CellContentClick . Di penanganan aktivitas, Anda dapat menggunakan DataGridViewCellEventArgs.ColumnIndex properti untuk menentukan apakah klik terjadi di kolom tombol. Anda dapat menggunakan DataGridViewCellEventArgs.RowIndex properti untuk menentukan apakah klik terjadi dalam sel tombol dan bukan pada header kolom.
Catatan
Saat gaya visual diaktifkan, tombol dalam kolom tombol dicat menggunakan ButtonRenderer, dan gaya sel yang ditentukan melalui properti seperti DefaultCellStyle tidak berpengaruh.
Catatan Bagi Inheritor
Ketika Anda berasal dari DataGridViewButtonColumn dan menambahkan properti baru ke kelas turunan, pastikan untuk mengambil Clone() alih metode untuk menyalin properti baru selama operasi kloning. Anda juga harus memanggil metode kelas Clone() dasar sehingga properti kelas dasar disalin ke sel baru.
Konstruktor
DataGridViewButtonColumn() |
Menginisialisasi instans DataGridViewButtonColumn baru kelas ke status default. |
Properti
AutoSizeMode |
Mendapatkan atau mengatur mode di mana kolom secara otomatis menyesuaikan lebarnya. (Diperoleh dari DataGridViewColumn) |
CellTemplate |
Mendapatkan atau mengatur templat yang digunakan untuk membuat sel baru. |
CellType |
Mendapatkan jenis run-time templat sel. (Diperoleh dari DataGridViewColumn) |
ContextMenuStrip |
Mendapatkan atau mengatur menu pintasan untuk kolom. (Diperoleh dari DataGridViewColumn) |
DataGridView |
Mendapatkan kontrol yang DataGridView terkait dengan elemen ini. (Diperoleh dari DataGridViewElement) |
DataPropertyName |
Mendapatkan atau mengatur nama properti sumber data atau kolom database yang DataGridViewColumn terikat. (Diperoleh dari DataGridViewColumn) |
DefaultCellStyle |
Mendapatkan atau mengatur gaya sel default kolom. |
DefaultHeaderCellType |
Mendapatkan atau mengatur jenis run-time dari sel header default. (Diperoleh dari DataGridViewBand) |
Displayed |
Mendapatkan nilai yang menunjukkan apakah pita saat ini ditampilkan di layar. (Diperoleh dari DataGridViewBand) |
DisplayIndex |
Mendapatkan atau mengatur urutan tampilan kolom relatif terhadap kolom yang saat ini ditampilkan. (Diperoleh dari DataGridViewColumn) |
DividerWidth |
Mendapatkan atau mengatur lebar, dalam piksel, pembagi kolom. (Diperoleh dari DataGridViewColumn) |
FillWeight |
Mendapatkan atau mengatur nilai yang mewakili lebar kolom saat berada dalam mode isian relatif terhadap lebar kolom mode isian lainnya dalam kontrol. (Diperoleh dari DataGridViewColumn) |
FlatStyle |
Mendapatkan atau mengatur tampilan gaya datar sel tombol di kolom. |
Frozen |
Mendapatkan atau mengatur nilai yang menunjukkan apakah kolom akan bergerak saat pengguna menggulir DataGridView kontrol secara horizontal. (Diperoleh dari DataGridViewColumn) |
HasDefaultCellStyle |
Mendapatkan nilai yang menunjukkan apakah DefaultCellStyle properti telah ditetapkan. (Diperoleh dari DataGridViewBand) |
HeaderCell |
Mendapatkan atau mengatur DataGridViewColumnHeaderCell yang mewakili header kolom. (Diperoleh dari DataGridViewColumn) |
HeaderCellCore |
Mendapatkan atau mengatur sel header dari DataGridViewBand. (Diperoleh dari DataGridViewBand) |
HeaderText |
Mendapatkan atau mengatur teks caption pada sel header kolom. (Diperoleh dari DataGridViewColumn) |
Index |
Mendapatkan posisi relatif band dalam DataGridView kontrol. (Diperoleh dari DataGridViewBand) |
InheritedAutoSizeMode |
Mendapatkan mode ukuran yang berlaku untuk kolom. (Diperoleh dari DataGridViewColumn) |
InheritedStyle |
Mendapatkan gaya sel yang saat ini diterapkan ke kolom. (Diperoleh dari DataGridViewColumn) |
IsDataBound |
Mendapatkan nilai yang menunjukkan apakah kolom terikat ke sumber data. (Diperoleh dari DataGridViewColumn) |
IsRow |
Mendapatkan nilai yang menunjukkan apakah pita mewakili baris. (Diperoleh dari DataGridViewBand) |
MinimumWidth |
Mendapatkan atau mengatur lebar minimum, dalam piksel, dari kolom. (Diperoleh dari DataGridViewColumn) |
Name |
Mendapatkan atau mengatur nama kolom. (Diperoleh dari DataGridViewColumn) |
ReadOnly |
Mendapatkan atau mengatur nilai yang menunjukkan apakah pengguna dapat mengedit sel kolom. (Diperoleh dari DataGridViewColumn) |
Resizable |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kolom dapat diubah bentuknya. (Diperoleh dari DataGridViewColumn) |
Selected |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah pita berada dalam status antarmuka pengguna (UI) yang dipilih. (Diperoleh dari DataGridViewBand) |
Site |
Mendapatkan atau mengatur situs kolom. (Diperoleh dari DataGridViewColumn) |
SortMode |
Mendapatkan atau mengatur mode pengurutan untuk kolom. (Diperoleh dari DataGridViewColumn) |
State |
Mendapatkan status antarmuka pengguna (UI) dari elemen . (Diperoleh dari DataGridViewElement) |
Tag |
Mendapatkan atau mengatur objek yang berisi data untuk dikaitkan dengan pita. (Diperoleh dari DataGridViewBand) |
Text |
Mendapatkan atau mengatur teks default yang ditampilkan pada sel tombol. |
ToolTipText |
Mendapatkan atau mengatur teks yang digunakan untuk TipsAlat. (Diperoleh dari DataGridViewColumn) |
UseColumnTextForButtonValue |
Mendapatkan atau mengatur nilai yang menunjukkan apakah Text nilai properti ditampilkan sebagai teks tombol untuk sel di kolom ini. |
ValueType |
Mendapatkan atau mengatur tipe data nilai dalam sel kolom. (Diperoleh dari DataGridViewColumn) |
Visible |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kolom terlihat. (Diperoleh dari DataGridViewColumn) |
Width |
Mendapatkan atau mengatur lebar kolom saat ini. (Diperoleh dari DataGridViewColumn) |
Metode
Clone() |
Membuat salinan yang tepat dari kolom ini. |
Dispose() |
Merilis semua sumber daya yang DataGridViewBanddigunakan oleh . (Diperoleh dari DataGridViewBand) |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh DataGridViewBand dan secara opsional merilis sumber daya terkelola. (Diperoleh dari DataGridViewColumn) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetPreferredWidth(DataGridViewAutoSizeColumnMode, Boolean) |
Menghitung lebar kolom yang ideal berdasarkan kriteria yang ditentukan. (Diperoleh dari DataGridViewColumn) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnDataGridViewChanged() |
Dipanggil ketika band dikaitkan dengan yang berbeda DataGridView. (Diperoleh dari DataGridViewBand) |
RaiseCellClick(DataGridViewCellEventArgs) |
Memunculkan kejadian CellClick. (Diperoleh dari DataGridViewElement) |
RaiseCellContentClick(DataGridViewCellEventArgs) |
Memunculkan kejadian CellContentClick. (Diperoleh dari DataGridViewElement) |
RaiseCellContentDoubleClick(DataGridViewCellEventArgs) |
Memunculkan kejadian CellContentDoubleClick. (Diperoleh dari DataGridViewElement) |
RaiseCellValueChanged(DataGridViewCellEventArgs) |
Memunculkan kejadian CellValueChanged. (Diperoleh dari DataGridViewElement) |
RaiseDataError(DataGridViewDataErrorEventArgs) |
Memunculkan kejadian DataError. (Diperoleh dari DataGridViewElement) |
RaiseMouseWheel(MouseEventArgs) |
Memunculkan kejadian MouseWheel. (Diperoleh dari DataGridViewElement) |
ToString() |
Mendapatkan string yang menjelaskan kolom . |
Acara
Disposed |
Terjadi ketika dibuang DataGridViewColumn . (Diperoleh dari DataGridViewColumn) |