DataGrid 컨트롤에서의 기본 키보드 및 마우스 동작Default Keyboard and Mouse Behavior in the DataGrid Control

이 항목에서는 사용자가 DataGrid 키보드와 마우스를 사용 하 여 컨트롤과 상호 작용할 수 있는 방법에 대해 설명 합니다.This topic describes how users can interact with the DataGrid control by using the keyboard and mouse.

와의 일반적인 상호 작용에는 DataGrid 탐색, 선택 및 편집이 포함 됩니다.Typical interactions with the DataGrid include navigation, selection, and editing. 선택 동작은 및 속성의 영향을 받습니다 SelectionMode SelectionUnit .Selection behavior is affected by the SelectionMode and SelectionUnit properties. 이 항목에서 설명 하는 동작을 발생 시키는 기본값은 DataGridSelectionMode.ExtendedDataGridSelectionUnit.FullRow 입니다.The default values that cause the behavior described in this topic are DataGridSelectionMode.Extended and DataGridSelectionUnit.FullRow. 이러한 값을 변경 하면 설명 된 동작과 다른 동작이 발생할 수 있습니다.Changing these values might cause behavior that is different from that described. 셀이 편집 모드에 있으면 편집 컨트롤이의 표준 키보드 동작을 재정의할 수 있습니다 DataGrid .When a cell is in edit mode, the editing control might override the standard keyboard behavior of the DataGrid.

기본 키보드 동작Default Keyboard Behavior

다음 표에서는에 대 한 기본 키보드 동작을 보여 줍니다 DataGrid .The following table lists the default keyboard behavior for the DataGrid.

키 또는 키 조합Key or key combination DescriptionDescription
아래쪽 화살표DOWN ARROW 포커스를 현재 셀 바로 아래의 셀로 이동 합니다.Moves the focus to the cell directly below the current cell. 포커스가 마지막 행에 있는 경우 아래쪽 화살표를 누르면 아무 작업도 수행 되지 않습니다.If the focus is in the last row, pressing the DOWN ARROW does nothing.
위쪽 화살표UP ARROW 포커스를 현재 셀 바로 위의 셀로 이동 합니다.Moves the focus to the cell directly above the current cell. 포커스가 첫 번째 행에 있는 경우 위쪽 화살표를 누르면 아무 작업도 수행 되지 않습니다.If the focus is in the first row, pressing the UP ARROW does nothing.
왼쪽 화살표LEFT ARROW 포커스를 행의 이전 셀로 이동 합니다.Moves the focus to the previous cell in the row. 포커스가 행의 첫 번째 셀에 있는 경우 왼쪽 화살표를 누르면 아무 작업도 수행 되지 않습니다.If the focus is in the first cell in the row, pressing the LEFT ARROW does nothing.
오른쪽 화살표RIGHT ARROW 포커스를 행의 다음 셀로 이동 합니다.Moves the focus to the next cell in the row. 포커스가 행의 마지막 셀에 있는 경우 오른쪽 화살표를 누르면 아무 작업도 수행 되지 않습니다.If the focus is in the last cell in the row, pressing the RIGHT ARROW does nothing.
HomeHOME 포커스를 현재 행의 첫 번째 셀로 이동 합니다.Moves the focus to the first cell in the current row.
EndEND 포커스를 현재 행의 마지막 셀로 이동 합니다.Moves the focus to the last cell in the current row.
Page DownPAGE DOWN 행이 그룹화 되지 않은 경우 컨트롤을 완전히 표시 되는 행 수 만큼 아래로 스크롤합니다.If rows are not grouped, scrolls the control downward by the number of rows that are fully displayed. 열을 변경 하지 않고 마지막으로 표시 된 행으로 포커스를 이동 합니다.Moves the focus to the last fully displayed row without changing columns.

행이 그룹화 된 경우는 변경 되는 열이 없는의 마지막 행으로 포커스를 이동 합니다 DataGrid .If rows are grouped, moves the focus to the last row in the DataGrid without changing columns.
Page UpPAGE UP 행이 그룹화 되지 않은 경우 컨트롤을 완전히 표시 되는 행 수 만큼 위로 스크롤합니다.If rows are not grouped, scrolls the control upward by the number of rows that are fully displayed. 열을 변경 하지 않고 첫 번째로 표시 된 행으로 포커스를 이동 합니다.Moves focus to the first displayed row without changing columns.

행이 그룹화 된 경우는 변경 되는 열이 없는의 첫 번째 행으로 포커스를 이동 합니다 DataGrid .If rows are grouped, moves the focus to the first row in the DataGrid without changing columns.
TabTAB 포커스를 현재 행의 다음 셀로 이동 합니다.Moves the focus to the next cell in the current row. 포커스가 행의 마지막 셀에 있는 경우 다음 행의 첫 번째 셀로 포커스를 이동 합니다.If the focus is in the last cell of the row, moves the focus to the first cell in the next row. 포커스가 컨트롤의 마지막 셀에 있는 경우는 부모 컨테이너의 탭 순서에서 다음 컨트롤로 포커스를 이동 합니다.If the focus is in the last cell in the control, moves the focus to the next control in the tab order of the parent container.

현재 셀이 편집 모드에 있고 TAB 키를 누르면 포커스가 현재 행에서 벗어나면 포커스가 변경 되기 전에 행에 적용 된 모든 변경 내용이 커밋됩니다.If the current cell is in edit mode and pressing TAB causes focus to move away from the current row, any changes that were made to the row are committed before focus is changed.
Shift+TabSHIFT+TAB 현재 행의 이전 셀로 포커스를 이동 합니다.Moves the focus to the previous cell in the current row. 포커스가 행의 첫 번째 셀에 이미 있는 경우는 포커스를 이전 행의 마지막 셀로 이동 합니다.If the focus is already in the first cell of the row, moves the focus to the last cell in the previous row. 포커스가 컨트롤의 첫 번째 셀에 있으면 부모 컨테이너의 탭 순서에서 이전 컨트롤로 포커스를 이동 합니다.If the focus is in the first cell in the control, moves the focus to the previous control in the tab order of the parent container.

현재 셀이 편집 모드에 있고 TAB 키를 누르면 포커스가 현재 행에서 벗어나면 포커스가 변경 되기 전에 행에 적용 된 모든 변경 내용이 커밋됩니다.If the current cell is in edit mode and pressing TAB causes focus to move away from the current row, any changes that were made to the row are committed before focus is changed.
Ctrl+아래쪽 화살표CTRL+DOWN ARROW 포커스를 현재 열의 마지막 셀로 이동 합니다.Moves the focus to the last cell in the current column.
Ctrl+위쪽 화살표CTRL+UP ARROW 포커스를 현재 열의 첫 번째 셀로 이동 합니다.Moves the focus to the first cell in the current column.
Ctrl+오른쪽 화살표CTRL+RIGHT ARROW 포커스를 현재 행의 마지막 셀로 이동 합니다.Moves the focus to the last cell in the current row.
Ctrl+왼쪽 화살표CTRL+LEFT ARROW 포커스를 현재 행의 첫 번째 셀로 이동 합니다.Moves the focus to the first cell in the current row.
Ctrl+HomeCTRL+HOME 포커스를 컨트롤의 첫 번째 셀로 이동 합니다.Moves the focus to the first cell in the control.
Ctrl+EndCTRL+END 포커스를 컨트롤의 마지막 셀로 이동 합니다.Moves the focus to the last cell in the control.
Ctrl+Page DownCTRL+PAGE DOWN PAGE DOWN와 동일 합니다.Same as PAGE DOWN.
Ctrl+Page UpCTRL+PAGE UP PAGE UP과 동일 합니다.Same as PAGE UP.
F2F2 DataGrid.IsReadOnly속성이이 falseDataGridColumn.IsReadOnly 속성이 false 현재 열에 대해 이면 현재 셀을 셀 편집 모드로 전환 합니다.If the DataGrid.IsReadOnly property is false and the DataGridColumn.IsReadOnly property is false for the current column, puts the current cell into cell edit mode.
Enter 키ENTER 현재 셀과 행의 모든 변경 내용을 커밋하고 포커스를 현재 셀 바로 아래의 셀로 이동 합니다.Commits any changes to the current cell and row and moves the focus to the cell directly below the current cell. 포커스가 마지막 행에 있으면는 포커스를 이동 하지 않고 모든 변경 내용을 커밋합니다.If the focus is in the last row, commits any changes without moving the focus.
ESC 키ESC 컨트롤이 편집 모드에 있으면는 편집을 취소 하 고 컨트롤에서 적용 된 모든 변경 내용을 되돌립니다.If the control is in edit mode, cancels the edit and reverts any changes that were made in the control. 기본 데이터 원본이를 구현 하는 경우 IEditableObject ESC 키를 누르면 전체 행에 대해 편집 모드가 취소 됩니다.If the underlying data source implements IEditableObject, pressing ESC a second time cancels edit mode for the entire row.
BackspaceBACKSPACE 셀을 편집할 때 커서 앞에 있는 문자를 삭제 합니다.Deletes the character before the cursor when editing a cell.
DeleteDELETE 셀을 편집할 때 커서 뒤의 문자를 삭제 합니다.Deletes the character after the cursor when editing a cell.
Ctrl+EnterCTRL+ENTER 포커스를 이동 하지 않고 현재 셀의 변경 내용을 커밋합니다.Commits any changes to the current cell without moving the focus.
Ctrl+ACTRL+A SelectionMode가로 설정 된 경우에서 Extended 의 모든 행을 선택 DataGrid 합니다.If SelectionMode is set to Extended, selects all rows in the DataGrid.

선택 키Selection Keys

SelectionMode속성이로 설정 된 경우 Extended 탐색 동작은 변경 되지 않지만 shift 키를 누르면 (CTRL + shift를 포함 하는) 키보드를 사용 하 여 탐색 하면 여러 행이 선택 됩니다.If the SelectionMode property is set to Extended, the navigation behavior does not change, but navigating with the keyboard while pressing SHIFT (including CTRL+SHIFT) will modify a multi-row selection. 탐색이 시작 되기 전에 컨트롤은 현재 행을 앵커 행으로 표시 합니다.Before navigation starts, the control marks the current row as an anchor row. SHIFT 키를 누르는 동안 이동할 때 앵커 행과 현재 행 사이의 모든 행이 선택 영역에 포함 됩니다.When you navigate while pressing SHIFT, the selection includes all rows between the anchor row and the current row.

다음 선택 키는 여러 행 선택을 수정 합니다.The following selection keys modify multi-row selection.

  • Shift+아래쪽 화살표SHIFT+DOWN ARROW

  • Shift+위쪽 화살표SHIFT+UP ARROW

  • Shift+Page DownSHIFT+PAGE DOWN

  • Shift+Page UpSHIFT+PAGE UP

  • Ctrl+Shift+아래쪽 화살표CTRL+SHIFT+DOWN ARROW

  • Ctrl+Shift+위쪽 화살표CTRL+SHIFT+UP ARROW

  • Ctrl+Shift+HomeCTRL+SHIFT+HOME

  • Ctrl+Shift+EndCTRL+SHIFT+END

마우스 기본 동작Default Mouse Behavior

다음 표에서는에 대 한 기본 마우스 동작을 보여 줍니다 DataGrid .The following table lists the default mouse behavior for the DataGrid.

마우스 작업Mouse action DescriptionDescription
선택 되지 않은 행을 클릭 합니다.Click an unselected row 클릭 한 행을 현재 행으로 만들고 클릭 한 셀을 현재 셀로 만듭니다.Makes the clicked row the current row, and the clicked cell the current cell.
현재 셀을 클릭 합니다.Click the current cell 현재 셀을 편집 모드로 전환 합니다.Puts the current cell into edit mode.
열 머리글 셀 끌기Drag a column header cell DataGrid.CanUserReorderColumns속성이이 trueDataGridColumn.CanUserReorder 속성이 true 현재 열에 대 한 속성인 경우 새 위치로 열을 끌어 놓을 수 있도록 열을 이동 합니다.If the DataGrid.CanUserReorderColumns property is true and the DataGridColumn.CanUserReorder property is true for the current column, moves the column so that it can be dropped into a new position.
열 머리글 구분 기호 끌기Drag a column header separator DataGrid.CanUserResizeColumns속성이이 trueDataGridColumn.CanUserResize 속성이 true 현재 열의 이면 열 크기를 조정 합니다.If the DataGrid.CanUserResizeColumns property is true and the DataGridColumn.CanUserResize property is true for the current column, resizes the column.
열 머리글 구분 기호를 두 번 클릭 합니다.Double-click a column header separator DataGrid.CanUserResizeColumns속성이이 trueDataGridColumn.CanUserResize 속성이 true 현재 열에 대해 이면 크기 조정 모드를 사용 하 여 열의 크기를 자동으로 Auto 조정 합니다.If the DataGrid.CanUserResizeColumns property is true and the DataGridColumn.CanUserResize property is true for the current column, auto-sizes the column using the Auto sizing mode.
열 머리글 셀을 클릭 합니다.Click a column header cell DataGrid.CanUserSortColumns속성이이 trueDataGridColumn.CanUserSort 속성이 true 현재 열에 대해 이면 열을 정렬 합니다.If the DataGrid.CanUserSortColumns property is true and the DataGridColumn.CanUserSort property is true for the current column, sorts the column.

이미 정렬 된 열의 머리글을 클릭 하면 해당 열의 정렬 방향이 반전 됩니다.Clicking the header of a column that is already sorted will reverse the sort direction of that column.

여러 열 머리글을 클릭 하는 동안 SHIFT 키를 누르면 클릭 한 순서 대로 여러 열을 기준으로 정렬 됩니다.Pressing the SHIFT key while clicking multiple column headers will sort by multiple columns in the order clicked.
행을 CTRL + 클릭 합니다.CTRL+click a row SelectionMode가로 설정 된 경우는 Extended 연속 되지 않은 다중 행 선택을 수정 합니다.If SelectionMode is set to Extended, modifies a non-contiguous multi-row selection.

행이 이미 선택 되어 있으면 행을 선택 취소 합니다.If the row is already selected, deselects the row.
행을 SHIFT + 클릭 합니다.SHIFT+click a row SelectionMode가로 설정 된 경우는 Extended 연속 된 다중 행 선택을 수정 합니다.If SelectionMode is set to Extended, modifies a contiguous multi-row selection.
행 그룹 머리글 클릭Click a row group header 그룹을 확장 하거나 축소 합니다.Expands or collapses the group.
의 왼쪽 위 모서리에 있는 모두 선택 단추를 클릭 합니다. DataGridClick the Select All button at the top left corner of the DataGrid SelectionMode가로 설정 된 경우에서 Extended 의 모든 행을 선택 DataGrid 합니다.If SelectionMode is set to Extended, selects all rows in the DataGrid.

마우스 선택Mouse Selection

SelectionMode속성이로 설정 된 경우 Extended CTRL 또는 SHIFT 키를 누르면 행을 클릭 하면 여러 행 선택이 수정 됩니다.If the SelectionMode property is set to Extended, clicking a row while pressing CTRL or SHIFT will modify a multi-row selection.

CTRL 키를 누른 상태에서 행을 클릭 하면 다른 모든 행이 현재 선택 상태를 유지 하는 동안 행이 해당 선택 상태를 변경 합니다.When you click a row while pressing CTRL, the row will change its selection state while all other rows retain their current selection state. 인접 하지 않은 행을 선택 하려면이 작업을 수행 합니다.Do this to select non-adjacent rows.

SHIFT 키를 누른 상태에서 행을 클릭 하면 클릭 하기 전에 현재 행과 현재 행의 위치에 있는 앵커 행 사이의 모든 행이 선택 영역에 포함 됩니다.When you click a row while pressing SHIFT, the selection includes all rows between the current row and an anchor row located at the position of the current row prior to the click. SHIFT 키를 누른 상태에서 현재 행을 변경 하지만 앵커 행은 변경 하지 않고 계속 클릭 합니다.Subsequent clicks while pressing SHIFT change the current row, but not the anchor row. 인접 한 행의 범위를 선택 하려면이 작업을 수행 합니다.Do this to select a range of adjacent rows.

CTRL + SHIFT를 결합 하 여 인접 하지 않은 인접 행 범위를 선택할 수 있습니다.CTRL+SHIFT can be combined to select non-adjacent ranges of adjacent rows. 이렇게 하려면 앞에서 설명한 대로 SHIFT + 클릭을 사용 하 여 첫 번째 범위를 선택 합니다.To do this, select the first range by using SHIFT+click as described earlier. 첫 번째 행 범위를 선택한 후 CTRL + 클릭을 사용 하 여 다음 범위의 첫 번째 행을 선택 하 고 CTRL + SHIFT를 누른 상태에서 다음 범위의 마지막 행을 클릭 합니다.After the first range of rows is selected, use CTRL+click to select the first row in the next range, and then click the last row in the next range while pressing CTRL+SHIFT.

참고 항목See also