Compartilhar via


Tipo de controle DataGrid

Este tópico fornece informações sobre o suporte do Microsoft Automação da Interface do Usuário para o tipo de controle DataGrid.

O tipo de controle DataGrid permite que um usuário trabalhe facilmente com itens que contêm dados ou elementos de automação apresentados em colunas ou linhas. Os controles de grade de dados apresentam linhas de itens e colunas de informações sobre esses itens. Um controle de exibição de lista no Windows Vista Explorer é um exemplo que dá suporte ao tipo de controle DataGrid.

As seções a seguir definem o Automação da Interface do Usuário estrutura de árvore, propriedades, padrões de controle e eventos necessários para o tipo de controle DataGrid. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de grade de dados em que a estrutura/plataforma da interface do usuário integra Automação da Interface do Usuário suporte para tipos de controle e padrões de controle.

Este tópico inclui as seções a seguir.

Estrutura de árvore típica

A tabela a seguir ilustra um controle típico e uma exibição de conteúdo da árvore Automação da Interface do Usuário que pertence a controles de grade de dados e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de Automação da Interface do Usuário.

Exibição de controle Exibição de conteúdo
  • DataGrid
    • Cabeçalho (0, 1 ou 2)
      • HeaderItem (número de colunas ou linhas)
    • DataItem (0 ou mais; pode ser estruturado em uma hierarquia)
  • DataGrid
    • DataItem (0 ou mais; pode ser estruturado em uma hierarquia)

 

Propriedades relevantes

A tabela a seguir lista as propriedades Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle DataGrid. Para obter mais informações sobre Automação da Interface do Usuário propriedades, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedade de Automação da Interface do Usuário Valor Observações
UIA_AutomationIdPropertyId Veja as observações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Veja as observações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Veja as observações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e o elemento executar testes de clique especializados, substitua e forneça um ponto clicável.
UIA_ControlTypePropertyId DataGrid
UIA_IsContentElementPropertyId TRUE O valor dessa propriedade sempre deve ser TRUE. Isso significa que o controle de grade de dados deve estar sempre na exibição de conteúdo da árvore de Automação da Interface do Usuário.
UIA_IsControlElementPropertyId TRUE O valor dessa propriedade deve sempre TRUE. Isso significa que o controle de grade de dados sempre deve ser incluído na exibição de controle da árvore de Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_LabeledByPropertyId Veja as observações. Se houver um rótulo de texto estático, essa propriedade deverá expor uma referência a esse controle.
UIA_LocalizedControlTypePropertyId Veja as observações. Cadeia de caracteres localizada correspondente ao tipo de controle DataGrid . O valor padrão é "grade de dados" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Veja as observações. O controle de grade de dados normalmente obtém o valor de sua propriedade Name de um rótulo de texto estático. Se não houver um rótulo de texto estático ao qual um desenvolvedor de aplicativos deve atribuir um valor para a propriedade Name . O valor da propriedade Name nunca deve ser o conteúdo textual do controle de edição.

 

Padrões de controle necessários

A tabela a seguir lista os padrões de controle Automação da Interface do Usuário necessários para serem suportados por todos os controles de grade de dados. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle da Automação da Interface do Usuário.

Padrão de controle Suporte Observações
IGridProvider Obrigatório O próprio controle de grade de dados sempre dá suporte ao padrão de controle Grid porque os itens que ele contém têm metadados dispostos em uma grade.
IScrollProvider Depende A capacidade de rolar a grade de dados depende do conteúdo e de se há barras de rolagem presentes.
ISelectionProvider Depende A capacidade de selecionar a grade de dados depende do conteúdo.
ITableProvider Depende Um controle de grade de dados que tenha um cabeçalho deve dar suporte ao padrão de controle Tabela .

 

Os itens de dados dentro dos contêineres de grade de dados terão suporte mínimo:

Eventos obrigatórios

A tabela a seguir lista os eventos Automação da Interface do Usuário aos quais os controles de grade de dados são necessários para dar suporte. Para mais informações sobre eventos, confira Visão geral de eventos de Automação da Interface do Usuário.

Evento de Automação da Interface do Usuário Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de alteração de propriedade.
UIA_IsEnabledPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsOffscreen , ele deverá dar suporte a esse evento.
UIA_LayoutInvalidatedEventId
UIA_StructureChangedEventId
UIA_MultipleViewCurrentViewPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade CurrentView do padrão de controle MultipleView , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontallyScrollablePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollHorizontalViewSizePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticalScrollPercentPropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticallyScrollablePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_ScrollVerticalViewSizePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Scroll , ele deverá dar suporte a esse evento.
UIA_Selection_InvalidatedEventId

 

Exemplo de tipo de controle DataGrid

A imagem a seguir ilustra um controle de exibição de lista que implementa o tipo de controle DataGrid .

captura de tela do controle de exibição de lista com o tipo de controle datagrid

A exibição de controle e a exibição de conteúdo da árvore Automação da Interface do Usuário que pertence ao controle de exibição de lista são exibidas abaixo. Os padrões de controle de cada elemento de automação são mostrados entre parênteses.

Árvore da Automação da Interface do Usuário – Exibição de Controle Árvore da Automação da Interface do Usuário – Exibição de Conteúdo
DataGrid (Classificar, Tabela, Seleção, Grade)
  • Cabeçalho
    • HeaderItem "Nome" (Invocar)
    • HeaderItem "Data de Modificação" (Invocar)
    • HeaderItem "Tamanho" (Invocar)
  • Grupo "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
DataGrid (Tabela, Grade, Seleção)
  • Grupo "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

 

*O exemplo anterior mostra uma grade de dados que contém vários níveis de controles. O controle Grupo ("Contoso") contém dois controles DataItem ("Contas Receivable.doc" e "Contas Payable.doc"). Um par DataGrid/GridItem é independente de um par em outro nível. Os controles DataItem em um Grupo também podem ser expostos como um tipo de controle ListItem , permitindo que eles sejam apresentados mais claramente como objetos selecionáveis, em vez de como elementos de dados simples. Esse exemplo não inclui os subconjuntos dos itens de dados agrupados. Para obter outro exemplo de vários níveis de controles, consulte o tipo de controle DataItem .

Conceitual

Visão Geral dos Tipos de Controle de Automação de Interface do Usuário

Visão geral de automação da interface do usuário