Teclado padrão e comportamento do mouse no controle DataGrid

Este tópico descreve como os usuários podem interagir com o controle usando o teclado e o DataGrid mouse.

Interações típicas com a DataGrid navegação de inclusão, seleção e edição. O comportamento de seleção é afetado SelectionMode pelas propriedades 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 padrão do teclado do DataGrid.

Comportamento do teclado padrão

A tabela a seguir lista o comportamento de teclado padrão para o 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 última 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.
HOME Move o foco para a primeira célula na linha atual.
END Move o foco até 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 as colunas.

Se as linhas estiverem agrupadas, mova DataGrid o foco para a última linha nas colunas sem alterar.
PAGE UP Se as linhas não estiverem agrupadas, rola o controle para cima pelo número de linhas que são totalmente exibidas. Move o foco para a primeira linha exibida sem alterar as colunas.

Se as linhas estiverem agrupadas, mova o foco para a primeira linha nas DataGrid colunas sem alterar.
TAB Move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, moverá o foco para a primeira célula da linha seguinte. 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 em modo de edição e pressionar TAB fizer com que o foco se mova para fora da linha atual, as alterações que foram feitas na linha serão confirmadas antes de o foco ser 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, moverá o foco para a última célula da 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 em modo de edição e pressionar TAB fizer com que o foco se mova para fora da linha atual, as alterações que foram feitas na linha serão confirmadas antes de o foco ser 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 até 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 no controle.
CTRL+PAGE DOWN Mesmo que PAGE DOWN.
CTRL+PAGE UP Mesmo que PAGE UP.
F2 Se a propriedade for e a propriedade for falsefalse para a coluna atual, colocará a DataGrid.IsReadOnlyDataGridColumn.IsReadOnly célula atual no modo de edição de célula.
Enter Confirma as alterações feitas na célula e na linha atuais 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á quaisquer alterações feitas no controle. Se a fonte de dados subjacente implementar, pressionar ESC uma segunda vez cancelará o modo de edição de IEditableObjecttoda a linha.
BACKSPACE Exclui o caractere antes do cursor ao editar uma célula.
DELETE Exclui o caractere antes 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, seleciona todas as linhas no DataGrid.

Teclas de seleção

Se a SelectionMode propriedade estiver definida como Extended, o comportamento de navegação não será alterado, 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 mantendo a tecla SHIFT pressionada, a seleção inclui todas as linhas entre a linha de âncora e a linha atual.

As seguintes chaves de seleção modificam a seleção de várias linhas.

  • SHIFT+SETA PARA BAIXO

  • SHIFT+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
Clicar em uma linha não selecionada Torna a linha clicada a linha atual e a célula clicada a célula atual.
Clicar 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 for e a propriedade for truetrue para a coluna atual, mova a DataGrid.CanUserReorderColumnsDataGridColumn.CanUserReorder coluna para que ela possa ser descartada em uma nova posição.
Arrastar um separador de cabeçalho de coluna Se a propriedade for e a propriedade for truetrue para a coluna atual, redimensione a DataGrid.CanUserResizeColumnsDataGridColumn.CanUserResize coluna.
Clicar duas vezes em um separador de cabeçalho de coluna Se a propriedade for e a propriedade for truetrue para a coluna atual, dimensione automaticamente a DataGrid.CanUserResizeColumnsDataGridColumn.CanUserResize coluna usando o Auto modo de dimensionamento.
Clicar em uma célula de cabeçalho de coluna Se a propriedade for e a propriedade for truetrue para a coluna atual, classificará a DataGrid.CanUserSortColumnsDataGridColumn.CanUserSort coluna.

Clicar no cabeçalho de uma coluna que já está classificada reverterá a direção de classificação da coluna.

Pressionar a tecla SHIFT ao clicar em vários cabeçalhos de coluna classificará por várias colunas na ordem clicada.
CTRL + clique em uma linha Se SelectionMode estiver definido como Extended, modifica uma seleção de várias linhas não contígua.

Se a linha já estiver selecionada, desmarcará a linha.
SHIFT + clique em uma linha Se SelectionMode estiver definido como Extended, modifica 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, seleciona todas as linhas no DataGrid.

Seleção com o mouse

Se a SelectionMode propriedade estiver definida como Extended, clicar em uma linha enquanto pressiona CTRL ou SHIFT modificará uma seleção de várias linhas.

Ao clicar em uma linha mantendo a tecla CTRL pressionada, a linha mudará seu estado de seleção enquanto todas as outras linhas manterão o estado de seleção atual. Faça isso para selecionar linhas não adjacentes.

Ao clicar em uma linha ao pressionar a tecla SHIFT, a seleção incluirá 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, mantendo a tecla SHIFT pressionada, alteram a linha atual, mas não a linha de âncora. Faça isso para selecionar várias linhas adjacentes.

As teclas CTRL + SHIFT podem ser combinadas 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 ao pressionar CTRL + SHIFT.

Confira também