Comportamento padrão de teclado e mouse no controle DataGrid
Este tópico descreve como os usuários podem interagir com o controle DataGrid usando o teclado e o mouse.
Interações típicas com o DataGrid incluem navegação, seleção e edição. O comportamento de seleção é afetado pelas propriedades SelectionMode e SelectionUnit. Os valores padrão que causam o comportamento descrito neste tópico são DataGridSelectionMode.Extended e DataGridSelectionUnit.FullRow. Alterar esses valores pode causar um comportamento diferente daquele descrito. Quando uma célula está no modo de edição, o controle de edição pode substituir o comportamento de teclado padrão do DataGrid.
Comportamento padrão do teclado
A tabela a seguir lista o comportamento de teclado padrão do DataGrid.
Tecla ou combinação de teclas | Descrição |
---|---|
SETA PARA BAIXO | Move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, pressionar SETA PARA BAIXO não fará nada. |
SETA PARA CIMA | Move o foco para a célula diretamente acima da célula atual. Se o foco estiver na primeira linha, pressionar SETA PARA CIMA não fará nada. |
SETA PARA A ESQUERDA | Move o foco para a célula anterior na linha. Se o foco estiver na primeira célula na linha, pressionar SETA PARA A ESQUERDA não fará nada. |
SETA PARA A DIREITA | Move o foco para a próxima célula na linha. Se o foco estiver na última célula na linha, pressionar SETA PARA A DIREITA não fará nada. |
CASA | Move o foco para a primeira célula na linha atual. |
END | Move o foco para a última célula na linha atual. |
PAGE DOWN | Se as linhas não estiverem agrupadas, rola o controle para baixo pelo número de linhas que são totalmente exibidas. Move o foco para a última linha totalmente exibida sem alterar colunas. Se as linhas forem agrupadas, mova o foco para a última linha no DataGrid sem alterar colunas. |
PAGE UP | Se as linhas não estiverem agrupadas, role o controle para cima de acordo com o número de linhas totalmente exibidas. Move o foco para a primeira linha exibida sem alterar colunas. Se as linhas forem agrupadas, mova o foco para a primeira linha no DataGrid sem alterar colunas. |
TAB | Move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, mova o foco para a primeira célula na próxima linha. Se o foco estiver na última célula no controle, moverá o foco para o próximo controle na ordem de tabulação do contêiner pai. Se a célula atual estiver no modo de edição e pressionar TAB fizer com que o foco se afaste da linha atual, todas as alterações feitas na linha serão confirmadas antes que o foco seja alterado. |
SHIFT+TAB | Move o foco para a célula anterior na linha atual. Se o foco já estiver na primeira célula da linha, mova o foco para a última célula na linha anterior. Se o foco estiver na primeira célula no controle, moverá o foco para o controle anterior na ordem de tabulação do contêiner pai. Se a célula atual estiver no modo de edição e pressionar TAB fizer com que o foco se afaste da linha atual, todas as alterações feitas na linha serão confirmadas antes que o foco seja alterado. |
CTRL + SETA PARA BAIXO | Move o foco para a última célula na coluna atual. |
CTRL+SETA PARA CIMA | Move o foco para a primeira célula na coluna atual. |
CTRL + SETA PARA A DIREITA | Move o foco para a última célula na linha atual. |
CTRL + SETA PARA A ESQUERDA | Move o foco para a primeira célula na linha atual. |
CTRL+HOME | Move o foco para a primeira célula no controle. |
CTRL+END | Move o foco para a última célula do controle. |
CTRL+PAGE DOWN | O mesmo que PAGE DOWN. |
CTRL+PAGE UP | O mesmo que PAGE UP. |
F2 | Se a propriedade DataGrid.IsReadOnly for false e a propriedade DataGridColumn.IsReadOnly for false para a coluna atual, coloca a célula atual em modo de edição. |
ENTER | Confirma qualquer alteração na célula e linha atual e move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, confirmará as alterações sem mover o foco. |
ESC | Se o controle estiver no modo de edição, cancelará a edição e reverterá as alterações que foram feitas no controle. Se a fonte de dados subjacente implementar IEditableObject, pressionar ESC uma segunda vez cancelará o modo de edição para toda a linha. |
BACKSPACE | Exclui o caractere antes do cursor ao editar uma célula. |
DELETE | Exclui o caractere após o cursor ao editar uma célula. |
CTRL+ENTER | Confirma as alterações na célula atual sem mover o foco. |
CTRL+A | Se SelectionMode estiver definido como Extended, selecione todas as linhas no DataGrid. |
Teclas de seleção
Se a propriedade SelectionMode estiver definida como Extended, o comportamento de navegação não mudará, mas navegar com o teclado enquanto pressiona SHIFT (incluindo CTRL+SHIFT) modificará uma seleção de várias linhas. Antes de iniciar a navegação, o controle marca a linha atual como uma linha de âncora. Quando você navega enquanto pressiona SHIFT, a seleção inclui todas as linhas entre a linha de âncora e a linha atual.
As chaves de seleção a seguir modificam a seleção de várias linhas.
SHIFT + SETA ABAIXO
CTRL+SETA PARA CIMA
SHIFT + PAGE DOWN
SHIFT+PAGE UP
CTRL + SHIFT + SETA PARA BAIXO
CTRL + SHIFT + SETA PARA CIMA
CTRL+SHIFT+HOME
CTRL+SHIFT+END
Comportamento padrão do mouse
A tabela a seguir lista o comportamento padrão do mouse para o DataGrid.
Ação do mouse | Descrição |
---|---|
Clique em uma linha não selecionada | Define a linha clicada como a linha atual e a célula clicada como a célula atual. |
Clique na célula atual | Coloca a célula atual no modo de edição. |
Arrastar uma célula de cabeçalho de coluna | Se a propriedade DataGrid.CanUserReorderColumns for true e a propriedade DataGridColumn.CanUserReorder for true para a coluna atual, mova a coluna para que ela possa ser posicionada em uma nova posição. |
Arrastar um separador de cabeçalho de coluna | Se a propriedade DataGrid.CanUserResizeColumns for true e a propriedade DataGridColumn.CanUserResize for true para a coluna atual, então redimensione a coluna. |
Clique duas vezes em um separador de cabeçalho de coluna | Se a propriedade DataGrid.CanUserResizeColumns for true e a propriedade DataGridColumn.CanUserResize for true para a coluna atual, redimensiona automaticamente a coluna usando o modo de dimensionamento Auto. |
Clicar em uma célula de cabeçalho de coluna | Se a propriedade DataGrid.CanUserSortColumns for true e a propriedade DataGridColumn.CanUserSort for true para a coluna atual, então classifica a coluna.Clicar no cabeçalho de uma coluna que já está classificada reverterá a direção de classificação dessa coluna. Pressionar a tecla SHIFT enquanto clica em vários cabeçalhos de coluna organizará as colunas na ordem clicada. |
CTRL+clique em uma linha | Se SelectionMode estiver definido como Extended, modificará uma seleção de várias linhas não contígua. Se a linha já estiver selecionada, desmarque a linha. |
SHIFT + clique em uma linha | Se SelectionMode estiver definido como Extended, modificará uma seleção contígua de várias linhas. |
Clicar em um cabeçalho de grupo de linha | Expande ou recolhe o grupo. |
Clique no botão Selecionar Tudo no canto superior esquerdo do DataGrid | Se SelectionMode estiver definido como Extended, selecione todas as linhas no DataGrid. |
Seleção do Mouse
Se a propriedade SelectionMode estiver definida como Extended, clicar em uma linha ao pressionar CTRL ou SHIFT modificará uma seleção de várias linhas.
Quando você clica em uma linha enquanto pressiona CTRL, a linha altera seu estado de seleção enquanto todas as outras linhas mantêm o estado de seleção atual. Faça isso para selecionar linhas não adjacentes.
Quando você clica em uma linha ao pressionar SHIFT, a seleção inclui todas as linhas entre a linha atual e uma linha de âncora localizada na posição da linha atual antes do clique. Os cliques subsequentes ao pressionar SHIFT alteram a linha atual, mas não a linha de âncora. Faça isso para selecionar um intervalo de linhas adjacentes.
CTRL+SHIFT pode ser combinado para selecionar intervalos não adjacentes de linhas adjacentes. Para fazer isso, selecione o primeiro intervalo usando SHIFT+clique, conforme descrito anteriormente. Depois que o primeiro intervalo de linhas for selecionado, use CTRL+clique para selecionar a primeira linha no próximo intervalo e clique na última linha no próximo intervalo enquanto pressiona CTRL+SHIFT.
Consulte também
.NET Desktop feedback