Tipo de control DataGrid

En este tema se proporciona información sobre la compatibilidad de Microsoft Automatización de la interfaz de usuario con el tipo de control DataGrid.

El tipo de control DataGrid permite a un usuario trabajar fácilmente con elementos que contienen datos o elementos de automatización presentados en columnas o filas. Los controles de cuadrícula de datos tienen filas de elementos y columnas de información sobre esos elementos. Un control de vista de lista en el Explorador de Windows Vista es un ejemplo que admite el tipo de control DataGrid .

En las secciones siguientes se definen la estructura de árbol Automatización de la interfaz de usuario necesaria, las propiedades, los patrones de control y los eventos para el tipo de control DataGrid. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de cuadrícula de datos en los que el marco o la plataforma de la interfaz de usuario se integra Automatización de la interfaz de usuario compatibilidad con los tipos de control y los patrones de control.

En este tema se incluyen las siguientes secciones.

Estructura de árbol típica

En la tabla siguiente se muestra un control típico y una vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece a los controles de cuadrícula de datos y se describe lo que se puede contener en cada vista. Para más información sobre el árbol de UI Automation, vea Información general del árbol de UI Automation.

Vista de control Vista de contenido
  • DataGrid
    • Header (0, 1 o 2)
      • HeaderItem (número de columnas o filas)
    • DataItem (0 o más; se puede estructurar en una jerarquía)
  • DataGrid
    • DataItem (0 o más; se puede estructurar en una jerarquía)

 

Propiedades pertinentes

En la tabla siguiente se enumeran las propiedades de Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para el tipo de control DataGrid. Para obtener más información sobre las propiedades de Automatización de la interfaz de usuario, vea Recuperar propiedades de Automatización de la interfaz de usuario Elements.

Propiedad de automatización de interfaz de usuario Valor Notas
UIA_AutomationIdPropertyId Vea las notas. El valor de esta propiedad debe ser único entre todos los elementos del mismo nivel en la vista sin procesar del árbol de Automatización de la interfaz de usuario.
UIA_BoundingRectanglePropertyId Vea las notas. El rectángulo exterior que contiene el control completo.
UIA_ClickablePointPropertyId Vea las notas. Se admite si hay un rectángulo delimitador. Si no se puede hacer clic en todos los puntos del rectángulo delimitador y el elemento realiza pruebas de posicionamiento especializadas, invalide y proporcione un punto en el que se pueda hacer clic.
UIA_ControlTypePropertyId DataGrid
UIA_IsContentElementPropertyId TRUE El valor de esta propiedad siempre debe ser TRUE. Esto significa que el control de cuadrícula de datos siempre debe estar en la vista de contenido del árbol de Automatización de la interfaz de usuario.
UIA_IsControlElementPropertyId TRUE El valor de esta propiedad siempre debe ser TRUE. Esto significa que el control de cuadrícula de datos siempre debe incluirse en la vista de control del árbol de Automatización de la interfaz de usuario.
UIA_IsKeyboardFocusablePropertyId Vea las notas. Si el control puede recibir el foco del teclado, debe admitir esta propiedad.
UIA_LabeledByPropertyId Vea las notas. Si hay una etiqueta de texto estático, esta propiedad debe exponer una referencia a ese control.
UIA_LocalizedControlTypePropertyId Vea las notas. Cadena localizada correspondiente al tipo de control DataGrid . El valor predeterminado es "data grid" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId Vea las notas. Normalmente, el control de cuadrícula de datos obtiene el valor de su propiedad Name de una etiqueta de texto estático. Si no hay una etiqueta de texto estático, un desarrollador de aplicaciones debe asignar un valor a para la propiedad Name . El valor de la propiedad Name nunca debe ser el contenido textual del control de edición.

 

Patrones de control necesarios

En la tabla siguiente se enumeran los patrones de control Automatización de la interfaz de usuario que todos los controles de cuadrícula de datos deben admitir. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.

Patrón de control Soporte técnico Notas
IGridProvider Obligatorio El propio control de cuadrícula de datos siempre admite el patrón de control Grid porque los elementos que contiene tienen metadatos que se colocan en una cuadrícula.
IScrollProvider Depende La capacidad de desplazar la cuadrícula de datos depende del contenido y de si las barras de desplazamiento están presentes.
ISelectionProvider Depende La capacidad de seleccionar la cuadrícula de datos depende del contenido.
ITableProvider Depende Un control de cuadrícula de datos que tenga un encabezado debe admitir el patrón de control Tabla .

 

Los elementos de datos dentro de los contenedores de la cuadrícula de datos admitirán como mínimo:

Eventos necesarios

En la tabla siguiente se enumeran los eventos Automatización de la interfaz de usuario que los controles de cuadrícula de datos son necesarios para admitir. Para más información sobre los eventos, vea UI Automation Events Overview.

Evento de Automatización de la interfaz de usuario Notas
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de cambio de propiedad.
UIA_IsEnabledPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsEnabled , debe admitir este evento.
UIA_IsOffscreenPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsOffscreen , debe admitir este evento.
UIA_LayoutInvalidatedEventId
UIA_StructureChangedEventId
UIA_MultipleViewCurrentViewPropertyId evento de cambio de propiedad. Si el control admite la propiedad CurrentView del patrón de control MultipleView , debe admitir este evento.
UIA_ScrollHorizontallyScrollablePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_ScrollHorizontalScrollPercentPropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_ScrollHorizontalViewSizePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_ScrollVerticalScrollPercentPropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_ScrollVerticallyScrollablePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_ScrollVerticalViewSizePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Scroll , debe admitir este evento.
UIA_Selection_InvalidatedEventId

 

Ejemplo de tipo de control DataGrid

En la imagen siguiente se muestra un control de vista de lista que implementa el tipo de control DataGrid .

captura de pantalla del control de vista de lista con el tipo de control datagrid

A continuación se muestra la vista de control y la vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece al control de vista de lista. Los patrones de control de cada elemento de automatización se muestran entre paréntesis.

Árbol de Automatización de la interfaz de usuario: vista de control Árbol de Automatización de la interfaz de usuario: vista de contenido
DataGrid (Ordenar, Tabla, Selección, Cuadrícula)
  • Encabezado
    • HeaderItem "Name" (Invoke)
    • HeaderItem "Date Modified" (Invoke)
    • HeaderItem "Size" (Invoke)
  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
DataGrid (Table, Grid, Selection)
  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

 

*En el ejemplo anterior se muestra una cuadrícula de datos que contiene varios niveles de controles. El control Group ("Contoso") contiene dos controles DataItem ("Accounts Receivable.doc" y "Accounts Payable.doc"). Un parGridItem de DataGrid/ es independiente de un par en otro nivel. Los controles DataItem de un grupo también se pueden exponer como un tipo de control ListItem , lo que les permite presentarse con mayor claridad como objetos seleccionables, en lugar de como elementos de datos simples. En este ejemplo no se incluyen los subelementos de los elementos de datos agrupados. Para obtener otro ejemplo de varios niveles de controles, vea el tipo de control DataItem .

Conceptual

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation