DataGridViewButtonColumn Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir nesne koleksiyonunu barındırıyor DataGridViewButtonCell .
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
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, belirli satırlarda eylem gerçekleştirmek için nasıl DataGridViewButtonColumn kullanılacağını gösterir. Bu örnekte olay işleyicisi önce DataGridView.CellClick düğme hücresinde tıklama olup olmadığını belirler, ardından satırla ilişkilendirilmiş bir iş nesnesi alır. Bu örnek, How to: Access Objects in a Windows Forms DataGridViewComboBoxCell Drop-Down List bölümünde bulunan daha büyük bir örneğin bir parçasıdır.
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
Açıklamalar
DataGridViewButtonColumn sınıfı, basit kullanıcı girişine yanıt veren hücreleri mantıksal olarak barındırmak için kullanılan sınıfın özelleştirilmiş bir türüdürDataGridViewColumn. A DataGridViewButtonColumn ile kesişen her DataGridViewRow ile ilişkilendirilmiş DataGridViewButtonCell bir vardır. Her hücre, denetime Button benzer bir kullanıcı arabirimi (UI) sağlar.
Her hücre için aynı düğme metnini görüntülemek için özelliğini olarak ayarlayın UseColumnTextForButtonValue ve özelliği istediğiniz düğme metnine ayarlayınText.true
Bu sütun türü için varsayılan sıralama modu şeklindedir NotSortable.
Kullanıcı düğmesi tıklamalarına yanıt vermek için veya DataGridView.CellContentClick olayını işleyebilirDataGridView.CellClick. Olay işleyicisinde, düğme sütununda tıklamanın DataGridViewCellEventArgs.ColumnIndex oluşup oluşmadığını belirlemek için özelliğini kullanabilirsiniz. Özelliği, tıklamanın DataGridViewCellEventArgs.RowIndex sütun başlığında değil düğme hücresinde olup olmadığını belirlemek için kullanabilirsiniz.
Not
Görsel stiller etkinleştirildiğinde, düğme sütunundaki düğmeler bir ButtonRendererkullanılarak boyanmış olur ve gibi DefaultCellStyle özelliklerle belirtilen hücre stillerinin hiçbir etkisi olmaz.
Devralanlara Notlar
öğesinden DataGridViewButtonColumn türetdiğinizde ve türetilmiş sınıfa yeni özellikler eklediğinizde, kopyalama işlemleri sırasında yeni özellikleri kopyalamak için yöntemini geçersiz kıldığınızdan Clone() emin olun. Temel sınıfın Clone() özelliklerinin yeni hücreye kopyalanmaları için temel sınıfın yöntemini de çağırmalısınız.
Oluşturucular
DataGridViewButtonColumn() |
Sınıfın DataGridViewButtonColumn yeni bir örneğini varsayılan duruma başlatır. |
Özellikler
AutoSizeMode |
Sütunun genişliğini otomatik olarak ayarladığı modu alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
CellTemplate |
Yeni hücre oluşturmak için kullanılan şablonu alır veya ayarlar. |
CellType |
Hücre şablonunun çalışma zamanı türünü alır. (Devralındığı yer: DataGridViewColumn) |
ContextMenuStrip |
Sütun için kısayol menüsünü alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
DataGridView |
DataGridView Bu öğeyle ilişkili denetimi alır. (Devralındığı yer: DataGridViewElement) |
DataPropertyName |
bağlı olduğu veri kaynağı özelliğinin veya veritabanı sütununun DataGridViewColumn adını alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
DefaultCellStyle |
Sütunun varsayılan hücre stilini alır veya ayarlar. |
DefaultHeaderCellType |
Varsayılan üst bilgi hücresinin çalışma zamanı türünü alır veya ayarlar. (Devralındığı yer: DataGridViewBand) |
Displayed |
Bandın şu anda ekranda görüntülenip görüntülenmediğini gösteren bir değer alır. (Devralındığı yer: DataGridViewBand) |
DisplayIndex |
Sütunun görüntülenme sırasını o anda görüntülenen sütunlara göre alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
DividerWidth |
Sütun ayırıcının genişliğini piksel cinsinden alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
FillWeight |
Denetimdeki diğer dolgu modu sütunlarının genişliklerine göre doldurma modundayken sütunun genişliğini temsil eden bir değeri alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
FlatStyle |
Sütundaki düğme hücrelerinin düz stil görünümünü alır veya ayarlar. |
Frozen |
Kullanıcı denetimi yatay olarak kaydırdığında sütunun DataGridView taşınıp taşınmayacağını belirten bir değer alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
HasDefaultCellStyle |
Özelliğin ayarlanıp ayarlanmadığını DefaultCellStyle belirten bir değer alır. (Devralındığı yer: DataGridViewBand) |
HeaderCell |
Sütun başlığını temsil eden öğesini alır veya ayarlar DataGridViewColumnHeaderCell . (Devralındığı yer: DataGridViewColumn) |
HeaderCellCore |
öğesinin üst bilgi hücresini DataGridViewBandalır veya ayarlar. (Devralındığı yer: DataGridViewBand) |
HeaderText |
Sütunun üst bilgi hücresindeki başlık metni alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Index |
Denetimin içindeki DataGridView bandın göreli konumunu alır. (Devralındığı yer: DataGridViewBand) |
InheritedAutoSizeMode |
Sütun için boyutlandırma modunu etkin hale alır. (Devralındığı yer: DataGridViewColumn) |
InheritedStyle |
Şu anda sütuna uygulanan hücre stilini alır. (Devralındığı yer: DataGridViewColumn) |
IsDataBound |
Sütunun bir veri kaynağına bağlı olup olmadığını belirten bir değer alır. (Devralındığı yer: DataGridViewColumn) |
IsRow |
Bandın bir satırı temsil edip etmediğini gösteren bir değer alır. (Devralındığı yer: DataGridViewBand) |
MinimumWidth |
Sütunun piksel cinsinden en düşük genişliğini alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Name |
Sütunun adını alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
ReadOnly |
Kullanıcının sütunun hücrelerini düzenleyip düzenleyemeyeceğini belirten bir değer alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Resizable |
Sütunun yeniden boyutlandırılabilir olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Selected |
Bandın seçili kullanıcı arabirimi (UI) durumunda olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: DataGridViewBand) |
Site |
Sütunun sitesini alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
SortMode |
Sütun için sıralama modunu alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
State |
öğesinin kullanıcı arabirimi (UI) durumunu alır. (Devralındığı yer: DataGridViewElement) |
Tag |
Bantla ilişkilendirilecek verileri içeren nesneyi alır veya ayarlar. (Devralındığı yer: DataGridViewBand) |
Text |
Düğme hücresinde görüntülenen varsayılan metni alır veya ayarlar. |
ToolTipText |
Araç İpuçları için kullanılan metni alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
UseColumnTextForButtonValue |
Özellik değerinin bu sütundaki Text hücreler için düğme metni olarak görüntülenip görüntülenmeyeceğini belirten bir değer alır veya ayarlar. |
ValueType |
Sütunun hücrelerindeki değerlerin veri türünü alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Visible |
Sütunun görünür olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Width |
Sütunun geçerli genişliğini alır veya ayarlar. (Devralındığı yer: DataGridViewColumn) |
Yöntemler
Clone() |
Bu sütunun tam bir kopyasını oluşturur. |
Dispose() |
DataGridViewBand tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: DataGridViewBand) |
Dispose(Boolean) |
DataGridViewBand tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. (Devralındığı yer: DataGridViewColumn) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetPreferredWidth(DataGridViewAutoSizeColumnMode, Boolean) |
Belirtilen ölçütlere göre sütunun ideal genişliğini hesaplar. (Devralındığı yer: DataGridViewColumn) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnDataGridViewChanged() |
Bant farklı DataGridViewbir ile ilişkilendirildiğinde çağrılır. (Devralındığı yer: DataGridViewBand) |
RaiseCellClick(DataGridViewCellEventArgs) |
Olayı tetikler CellClick . (Devralındığı yer: DataGridViewElement) |
RaiseCellContentClick(DataGridViewCellEventArgs) |
Olayı tetikler CellContentClick . (Devralındığı yer: DataGridViewElement) |
RaiseCellContentDoubleClick(DataGridViewCellEventArgs) |
Olayı tetikler CellContentDoubleClick . (Devralındığı yer: DataGridViewElement) |
RaiseCellValueChanged(DataGridViewCellEventArgs) |
Olayı tetikler CellValueChanged . (Devralındığı yer: DataGridViewElement) |
RaiseDataError(DataGridViewDataErrorEventArgs) |
Olayı tetikler DataError . (Devralındığı yer: DataGridViewElement) |
RaiseMouseWheel(MouseEventArgs) |
Olayı tetikler MouseWheel . (Devralındığı yer: DataGridViewElement) |
ToString() |
Sütunu açıklayan bir dize alır. |
Ekinlikler
Disposed |
atıldığında DataGridViewColumn gerçekleşir. (Devralındığı yer: DataGridViewColumn) |