Dela via


Implementing the UI Automation Table Control Pattern

Note

This documentation is intended for .NET Framework developers who want to use the managed UI Automation classes defined in the System.Windows.Automation namespace. For the latest information about UI Automation, see Windows Automation API: UI Automation.

This topic introduces guidelines and conventions for implementing ITableProvider, including information about properties, methods, and events. Links to additional references are listed at the end of the overview.

The TablePattern control pattern is used to support controls that act as containers for a collection of child elements. The children of this element must implement ITableItemProvider and be organized in a two-dimensional logical coordinate system that can be traversed by row and column. This control pattern is analogous to IgridProvider, with the distinction that any control implementing ITableProvider must also expose a column and/or row header relationship for each child element. For examples of controls that implement this control pattern, see Control Pattern Mapping for UI Automation Clients.

This topic contains the following sections.

  • Implementation Guidelines and Conventions
  • Required Members for ITableProvider
  • Exceptions
  • Related Topics

Implementation Guidelines and Conventions

When implementing the Table control pattern, note the following guidelines and conventions:

  • Access to the content of individual cells is through a two-dimensional logical coordinate system or array provided by the required concurrent implementation of IGridProvider.

  • A column or row header can be contained within a table object or be a separate header object that is associated with a table object.

  • Column and row headers may include both a primary header as well as any supporting headers.

Note

This concept becomes evident in a Microsoft Excel spreadsheet where a user has defined a "First name" column. This column now has two headers—the "First name" header defined by the user and the alphanumeric designation for that column assigned by the application.

Example of a Table with Complex Column Headers

Table with complex header items.

Example of a Table with Ambiguous RowOrColumnMajor Property

Table with ambiguous RowOrColumnMajor property.

Required Members for ITableProvider

The following properties and methods are required for the ITableProvider interface.

Required members

Member type

Notes

RowOrColumnMajor

Property

None

GetColumnHeaders

Method

None

GetRowHeaders

Method

None

This control pattern has no associated events.

Exceptions

This control pattern has no associated exceptions.

See Also

Tasks

Support Control Patterns in a UI Automation Provider

Use Caching in UI Automation

Concepts

UI Automation Control Patterns Overview

UI Automation Control Patterns for Clients

Implementing the UI Automation TableItem Control Pattern

Implementing the UI Automation Grid Control Pattern

UI Automation Tree Overview