Type de contrôle DataGrid

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle DataGrid.

Le type de contrôle DataGrid permet à un utilisateur d’utiliser facilement des éléments qui contiennent des données ou des éléments d’automatisation présentés dans des colonnes ou des lignes. Les contrôles de grille de données présentent des lignes d’éléments et des colonnes d’informations sur ces éléments. Un contrôle d’affichage de liste dans Windows Vista Explorer est un exemple qui prend en charge le type de contrôle DataGrid.

Les sections suivantes définissent les UI Automation l’arborescence, les propriétés, les modèles de contrôle et les événements requis pour le type de contrôle DataGrid. Les exigences UI Automation s’appliquent à tous les contrôles de grille de données où l’infrastructure/plateforme d’interface utilisateur intègre UI Automation prise en charge des types de contrôles et des modèles de contrôle.

Cette rubrique contient les sections suivantes.

Arborescence standard

Le tableau suivant illustre une vue de contrôle et de contenu classique de l’arborescence UI Automation qui se rapporte aux contrôles de grille de données et décrit ce qui peut être contenu dans chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez Vue d’ensemble de l’arborescence UI Automation.

Affichage de contrôle Affichage de contenu
  • DataGrid
    • Header (0, 1 ou 2)
      • HeaderItem (nombre de lignes ou colonnes)
    • DataItem (0 ou plus ; peut être structuré dans une hiérarchie)
  • DataGrid
    • DataItem (0 ou plus ; peut être structuré dans une hiérarchie)

 

Propriétés pertinentes

Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour le type de contrôle DataGrid. Pour plus d’informations sur UI Automation propriétés, consultez Récupération de propriétés à partir d’éléments UI Automation.

Propriété UI Automation Valeur Notes
UIA_AutomationIdPropertyId Consultez les remarques. La valeur de cette propriété doit être unique parmi tous les éléments homologues dans la vue brute de l’arborescence UI Automation.
UIA_BoundingRectanglePropertyId Consultez les remarques. Rectangle externe qui contient l’ensemble du contrôle.
UIA_ClickablePointPropertyId Consultez les remarques. Pris en charge s’il existe un rectangle englobant. Si tous les points du rectangle englobant ne sont pas cliquables et que l’élément effectue des tests de positionnement spécialisés, remplacez et fournissez un point cliquable.
UIA_ControlTypePropertyId DataGrid
UIA_IsContentElementPropertyId true La valeur de cette propriété doit toujours être TRUE. Cela signifie que le contrôle de grille de données doit toujours être inclus dans l’affichage du contenu de l’arborescence UI Automation.
UIA_IsControlElementPropertyId true La valeur de cette propriété doit toujours être TRUE. Cela signifie que le contrôle de grille de données doit toujours être inclus dans la vue de contrôle de l’arborescence UI Automation.
UIA_IsKeyboardFocusablePropertyId Consultez les remarques. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
UIA_LabeledByPropertyId Consultez les remarques. S’il existe une étiquette de texte statique, cette propriété doit exposer une référence à ce contrôle.
UIA_LocalizedControlTypePropertyId Consultez les remarques. Chaîne localisée correspondant au type de contrôle DataGrid . La valeur par défaut est « data grid » pour en-US ou english (États-Unis).
UIA_NamePropertyId Consultez les remarques. Le contrôle de grille de données obtient généralement la valeur de sa propriété Name à partir d’une étiquette de texte statique. S’il n’existe pas d’étiquette de texte statique, un développeur d’application doit affecter une valeur à pour la propriété Name . La valeur de la propriété Name ne doit jamais être le contenu textuel du contrôle d’édition.

 

Modèles de contrôle requis

Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent être pris en charge par tous les contrôles de grille de données. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.

Modèle de contrôle Support Notes
IGridProvider Obligatoire Le contrôle de grille de données lui-même prend toujours en charge le modèle de contrôle Grid , car les éléments qu’il contient ont des métadonnées qui sont disposées dans une grille.
IScrollProvider Dépend La possibilité de faire défiler la grille de données dépend du contenu et de la présence de barres de défilement.
ISelectionProvider Dépend La possibilité de sélectionner la grille de données dépend du contenu.
ITableProvider Dépend Un contrôle de grille de données qui a un en-tête doit prendre en charge le modèle de contrôle Table .

 

Les éléments de données dans les conteneurs de grille de données prennent en charge au minimum ce qui suit :

  • Modèle de contrôle SelectionItem (si la grille de données est sélectionnable)
  • Modèle de contrôle ScrollItem (si la grille de données peut faire défiler)
  • Modèle de contrôle GridItem
  • Modèle de contrôle TableItem (si la grille de données a un en-tête)

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation que les contrôles de grille de données doivent prendre en charge. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Événement UI Automation Notes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId’événement de modification de propriété.
UIA_IsEnabledPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsEnabled , il doit prendre en charge cet événement.
UIA_IsOffscreenPropertyId événement de modification de propriété. Si le contrôle prend en charge la propriété IsOffscreen , il doit prendre en charge cet événement.
UIA_LayoutInvalidatedEventId
UIA_StructureChangedEventId
UIA_MultipleViewCurrentViewPropertyId’événement de modification de propriété. Si le contrôle prend en charge la propriété CurrentView du modèle de contrôle MultipleView , il doit prendre en charge cet événement.
UIA_ScrollHorizontallyScrollablePropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_ScrollHorizontalScrollPercentPropertyId événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_ScrollHorizontalViewSizePropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_ScrollVerticalScrollPercentPropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_ScrollVerticallyScrollablePropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_ScrollVerticalViewSizePropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Scroll , il doit prendre en charge cet événement.
UIA_Selection_InvalidatedEventId

 

Exemple de type de contrôle DataGrid

L’image suivante illustre un contrôle d’affichage de liste qui implémente le type de contrôle DataGrid .

capture d’écran du contrôle d’affichage de liste avec le type de contrôle datagrid

La vue de contrôle et l’affichage du contenu de l’arborescence UI Automation qui se rapporte au contrôle d’affichage de liste sont affichés ci-dessous. Les modèles de contrôle de chaque élément Automation sont indiqués entre parenthèses.

Arborescence UI Automation - Vue Contrôle Arborescence UI Automation - Vue Contenu
DataGrid (Tri, Table, Sélection, Grille)
  • En-tête
    • HeaderItem « Nom » (Invoke)
    • HeaderItem « Date de modification » (Invoke)
    • HeaderItem « Taille » (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*)

 

*L’exemple précédent montre une grille de données qui contient plusieurs niveaux de contrôles. Le contrôle Group (« Contoso ») contient deux contrôles DataItem (« Comptes Receivable.doc » et « Comptes Payable.doc »). Une paire DataGrid/GridItem est indépendante d’une paire à un autre niveau. Les contrôles DataItem sous un groupe peuvent également être exposés en tant que type de contrôle ListItem , ce qui leur permet d’être présentés plus clairement comme des objets sélectionnables, plutôt que comme de simples éléments de données. Cet exemple n’inclut pas les sous-éléments des éléments de données groupés. Pour obtenir un autre exemple de plusieurs niveaux de contrôles, consultez le type de contrôle DataItem .

Conceptuel

Vue d'ensemble des types de contrôle UI Automation

Vue d'ensemble d'UI Automation