DataGridView.ColumnHeaderMouseClick 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
열 머리글을 클릭할 때 발생합니다.
public:
event System::Windows::Forms::DataGridViewCellMouseEventHandler ^ ColumnHeaderMouseClick;
public event System.Windows.Forms.DataGridViewCellMouseEventHandler ColumnHeaderMouseClick;
public event System.Windows.Forms.DataGridViewCellMouseEventHandler? ColumnHeaderMouseClick;
member this.ColumnHeaderMouseClick : System.Windows.Forms.DataGridViewCellMouseEventHandler
Public Custom Event ColumnHeaderMouseClick As DataGridViewCellMouseEventHandler
이벤트 유형
예제
열 머리글을 클릭 DataGridView할 때 기본 동작은 클릭된 열에 따라 눈금 행의 순서를 지정하거나 클릭된 열에 따라 그리드가 이미 정렬된 경우 정렬 순서를 반대로 지정하는 것입니다. 다음 코드 예제를 사용 하는 방법에 설명 합니다 기본 동작을 사용 하지 않도록 설정 된 경우 클릭의 기본 동작을 에뮬레이트 하는 DataGridViewColumnHeaderCell 프로그래밍 방식 정렬을 수행 하는 이벤트입니다. 이 예제에서 는 SelectionMode 로 ColumnHeaderSelect설정되므로 를 DataGridViewColumnHeaderCell 클릭하면 열의 내용이 선택됩니다. 예제 코드가 의도한 대로 작동하려면 데이터가 에 DataGridView로드될 때마다 기본 열 머리글 클릭 동작을 변경해야 합니다. 기본 동작을 DataBindingComplete 변경하는 코드를 제공하는 이벤트 처리기를 추가합니다. 이 예제를 실행하려면 라는 dataGridView1
형식 DataGridView 에 코드를 붙여넣고 모든 이벤트가 해당 이벤트 처리기와 연결되어 있는지 확인합니다.
private void dataGridView1_ColumnHeaderMouseClick(
object sender, DataGridViewCellMouseEventArgs e)
{
DataGridViewColumn newColumn = dataGridView1.Columns[e.ColumnIndex];
DataGridViewColumn oldColumn = dataGridView1.SortedColumn;
ListSortDirection direction;
// If oldColumn is null, then the DataGridView is not sorted.
if (oldColumn != null)
{
// Sort the same column again, reversing the SortOrder.
if (oldColumn == newColumn &&
dataGridView1.SortOrder == SortOrder.Ascending)
{
direction = ListSortDirection.Descending;
}
else
{
// Sort a new column and remove the old SortGlyph.
direction = ListSortDirection.Ascending;
oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None;
}
}
else
{
direction = ListSortDirection.Ascending;
}
// Sort the selected column.
dataGridView1.Sort(newColumn, direction);
newColumn.HeaderCell.SortGlyphDirection =
direction == ListSortDirection.Ascending ?
SortOrder.Ascending : SortOrder.Descending;
}
private void dataGridView1_DataBindingComplete(object sender,
DataGridViewBindingCompleteEventArgs e)
{
// Put each of the columns into programmatic sort mode.
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
column.SortMode = DataGridViewColumnSortMode.Programmatic;
}
}
Private Sub dataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, _
ByVal e As DataGridViewCellMouseEventArgs) _
Handles dataGridView1.ColumnHeaderMouseClick
Dim newColumn As DataGridViewColumn = _
dataGridView1.Columns(e.ColumnIndex)
Dim oldColumn As DataGridViewColumn = dataGridView1.SortedColumn
Dim direction As ListSortDirection
' If oldColumn is null, then the DataGridView is not currently sorted.
If oldColumn IsNot Nothing Then
' Sort the same column again, reversing the SortOrder.
If oldColumn Is newColumn AndAlso dataGridView1.SortOrder = _
SortOrder.Ascending Then
direction = ListSortDirection.Descending
Else
' Sort a new column and remove the old SortGlyph.
direction = ListSortDirection.Ascending
oldColumn.HeaderCell.SortGlyphDirection = SortOrder.None
End If
Else
direction = ListSortDirection.Ascending
End If
' Sort the selected column.
dataGridView1.Sort(newColumn, direction)
If direction = ListSortDirection.Ascending Then
newColumn.HeaderCell.SortGlyphDirection = SortOrder.Ascending
Else
newColumn.HeaderCell.SortGlyphDirection = SortOrder.Descending
End If
End Sub
Private Sub dataGridView1_DataBindingComplete(ByVal sender As Object, _
ByVal e As DataGridViewBindingCompleteEventArgs) _
Handles dataGridView1.DataBindingComplete
' Put each of the columns into programmatic sort mode.
For Each column As DataGridViewColumn In dataGridView1.Columns
column.SortMode = DataGridViewColumnSortMode.Programmatic
Next
End Sub
설명
이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
적용 대상
추가 정보
.NET