DataGridViewButtonColumn 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
예제
다음 코드 예제를 사용 DataGridViewButtonColumn 하는 방법에 설명 합니다 특정 행에 작업을 수행 하는 합니다. 이 예제 DataGridView.CellClick 에서 이벤트 처리기는 먼저 클릭이 단추 셀에 있는지 여부를 확인한 다음 행과 연결된 비즈니스 개체를 검색합니다. 이 예제는 방법: Windows Forms DataGridViewComboBoxCell Drop-Down 목록에서 개체 액세스에서 사용할 수 있는 더 큰 예제의 일부입니다.
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
설명
클래스는 DataGridViewButtonColumn 간단한 사용자 입력에 DataGridViewColumn 응답하는 셀을 논리적으로 호스트하는 데 사용되는 특수 형식의 클래스입니다. A DataGridViewButtonColumn 에 연결 된 DataGridViewButtonCell 에서 모든 DataGridViewRow 과 교차 하는 합니다. 각 셀은 컨트롤과 유사한 UI(사용자 인터페이스)를 Button 제공합니다.
모든 셀에 대해 동일한 단추 텍스트를 표시하려면 속성을 로 true
설정하고 UseColumnTextForButtonValue 속성을 원하는 단추 텍스트로 설정합니다Text.
이 열 형식에 대 한 기본 정렬 모드 NotSortable합니다.
사용자 단추 클릭에 응답하려면 또는 DataGridView.CellContentClick 이벤트를 처리 DataGridView.CellClick 합니다. 이벤트 처리기에서 사용 하 여 DataGridViewCellEventArgs.ColumnIndex 클릭 단추 열에서 발생 했는지 여부를 확인 하는 속성입니다. 사용 하 여는 DataGridViewCellEventArgs.RowIndex 열 머리글이 아닌 단추 셀에서 클릭이 발생 했는지 여부를 확인 하려면 속성을 사용할 수 있습니다.
참고
비주얼 스타일을 사용하도록 설정하면 단추 열의 단추는 를 사용하여 ButtonRenderer그려지고 와 같은 DefaultCellStyle 속성을 통해 지정된 셀 스타일은 영향을 주지 않습니다.
상속자 참고
파생 하는 경우 DataGridViewButtonColumn 파생된 클래스에 새 속성 추가 재정의 해야 합니다 Clone() 복제 작업 중 새 속성을 복사 하는 방법입니다. 또한 기본 클래스를 호출 해야 Clone() 메서드는 기본 클래스의 속성이 새로운 셀에 복사 되도록 합니다.
생성자
DataGridViewButtonColumn() |
DataGridViewButtonColumn 클래스의 새 인스턴스를 기본 상태로 초기화합니다. |
속성
AutoSizeMode |
열의 너비를 자동으로 조정하는 모드를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
CellTemplate |
셀을 새로 만드는 데 사용되는 템플릿을 가져오거나 설정합니다. |
CellType |
셀 템플릿의 런타임 형식을 가져옵니다. (다음에서 상속됨 DataGridViewColumn) |
ContextMenuStrip |
열의 바로 가기 메뉴를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
DataGridView |
이 요소와 관련된 DataGridView 컨트롤을 가져옵니다. (다음에서 상속됨 DataGridViewElement) |
DataPropertyName |
DataGridViewColumn이 바인딩되는 데이터베이스 열이나 데이터 소스 속성의 이름을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
DefaultCellStyle |
열의 기본 셀 스타일을 가져오거나 설정합니다. |
DefaultHeaderCellType |
기본 머리글 셀의 런타임 형식을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewBand) |
Displayed |
밴드가 현재 화면에 표시되는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DataGridViewBand) |
DisplayIndex |
현재 표시된 열에 상대적인 열의 표시 순서를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
DividerWidth |
열 구분선의 너비(픽셀)를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
FillWeight |
열이 컨트롤에 있는 다른 채우기 모드 열의 너비에 상대적인 채우기 모드에 있는 경우 열의 너비를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
FlatStyle |
열에서 단추 셀의 평면 스타일 모양을 가져오거나 설정합니다. |
Frozen |
DataGridView 컨트롤을 가로로 스크롤하면 열이 이동할지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
HasDefaultCellStyle |
DefaultCellStyle 속성이 설정되었는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DataGridViewBand) |
HeaderCell |
열 머리글을 나타내는 DataGridViewColumnHeaderCell을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
HeaderCellCore |
DataGridViewBand의 머리글 셀을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewBand) |
HeaderText |
열의 머리글 셀에 있는 캡션 텍스트를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Index |
DataGridView 컨트롤에서 밴드의 상대적 위치를 가져옵니다. (다음에서 상속됨 DataGridViewBand) |
InheritedAutoSizeMode |
열에 적용되는 크기 조정 모드를 가져옵니다. (다음에서 상속됨 DataGridViewColumn) |
InheritedStyle |
열에 현재 적용된 셀 스타일을 가져옵니다. (다음에서 상속됨 DataGridViewColumn) |
IsDataBound |
열이 데이터 소스에 바인딩되어 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DataGridViewColumn) |
IsRow |
밴드가 행을 나타내는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DataGridViewBand) |
MinimumWidth |
열의 최소 너비(픽셀)를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Name |
열 이름을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
ReadOnly |
열의 셀을 편집할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Resizable |
열의 크기를 조정할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Selected |
밴드가 선택한 UI(사용자 인터페이스) 상태에 있는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewBand) |
Site |
열의 사이트를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
SortMode |
열의 정렬 모드를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
State |
요소의 UI(사용자 인터페이스) 상태를 가져옵니다. (다음에서 상속됨 DataGridViewElement) |
Tag |
밴드에 연결할 데이터가 포함된 개체를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewBand) |
Text |
단추 셀에 표시되는 기본 텍스트를 가져오거나 설정합니다. |
ToolTipText |
도구 설명에 사용되는 텍스트를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
UseColumnTextForButtonValue |
이 열의 셀에 대한 단추 텍스트로 Text 속성 값을 표시할지 여부를 나타내는 값을 가져오거나 설정합니다. |
ValueType |
열의 셀 값에 대한 데이터 형식을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Visible |
열이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
Width |
열의 현재 너비를 가져오거나 설정합니다. (다음에서 상속됨 DataGridViewColumn) |
메서드
이벤트
Disposed |
DataGridViewColumn이 삭제될 때 발생합니다. (다음에서 상속됨 DataGridViewColumn) |
적용 대상
추가 정보
.NET