TablePattern.TablePatternInformation.GetColumnHeaders Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Retrieves a collection of AutomationElements representing all the column headers in a table.
public:
cli::array <System::Windows::Automation::AutomationElement ^> ^ GetColumnHeaders();
public System.Windows.Automation.AutomationElement[] GetColumnHeaders ();
member this.GetColumnHeaders : unit -> System.Windows.Automation.AutomationElement[]
Public Function GetColumnHeaders () As AutomationElement()
Returns
A collection of AutomationElements. The default is an empty array.
Examples
In the following example, the row or column header is retrieved for a specific table item.
For the purposes of this example, a relationship between the RowOrColumnMajor property and the row and column header items is demonstrated. However, a table can have row and column headers regardless of the RowOrColumnMajor property of the table.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a table items primary row or column header.
/// </summary>
/// <param name="tableItem">
/// The table item of interest.
/// </param>
/// <returns>
/// The table item header.
/// </returns>
///--------------------------------------------------------------------
private AutomationElement GetTableItemHeader(TableItemPattern tableItem)
{
if (tableItem == null)
{
throw new ArgumentException("Target element cannot be null.");
}
TablePattern tablePattern = GetTablePattern(tableItem.Current.ContainingGrid);
if (tablePattern == null)
{
return null;
}
AutomationElement[] tableHeaders =
GetPrimaryHeaders(tablePattern);
if (tableHeaders == null)
{
// Indeterminate headers.
return null;
}
if (tablePattern.Current.RowOrColumnMajor == RowOrColumnMajor.ColumnMajor)
{
return tableHeaders[tableItem.Current.Column];
}
if (tablePattern.Current.RowOrColumnMajor == RowOrColumnMajor.RowMajor)
{
return tableHeaders[tableItem.Current.Row];
}
return null;
}
///--------------------------------------------------------------------
/// <summary>
/// Obtains an array of table headers.
/// </summary>
/// <param name="tablePattern">
/// The TablePattern object of interest.
/// </param>
/// <returns>
/// The table row or column primary headers.
/// </returns>
///--------------------------------------------------------------------
private AutomationElement[] GetPrimaryHeaders(
TablePattern tablePattern)
{
if (tablePattern.Current.RowOrColumnMajor ==
RowOrColumnMajor.RowMajor)
{
return tablePattern.Current.GetRowHeaders();
}
if (tablePattern.Current.RowOrColumnMajor ==
RowOrColumnMajor.ColumnMajor)
{
return tablePattern.Current.GetColumnHeaders();
}
return null;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a table items primary row or column header.
''' </summary>
''' <param name="tableItem">
''' The table item of interest.
''' </param>
''' <returns>
''' The table item header.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetTableItemHeader( _
ByVal tableItem As TableItemPattern) As AutomationElement
If tableItem Is Nothing Then
Throw New ArgumentException("Target element cannot be null.")
End If
Dim tablePattern As TablePattern = _
GetTablePattern(tableItem.Current.ContainingGrid)
If tablePattern Is Nothing Then
Return Nothing
End If
Dim tableHeaders As AutomationElement() = _
GetPrimaryHeaders(tablePattern)
If tableHeaders Is Nothing Then
' Indeterminate headers.
Return Nothing
End If
If tablePattern.Current.RowOrColumnMajor = _
RowOrColumnMajor.ColumnMajor Then
Return tableHeaders(tableItem.Current.Column)
End If
If tablePattern.Current.RowOrColumnMajor = _
RowOrColumnMajor.RowMajor Then
Return tableHeaders(tableItem.Current.Row)
End If
Return Nothing
End Function 'GetTableItemHeader
'''--------------------------------------------------------------------
''' <summary>
''' Obtains an array of table headers.
''' </summary>
''' <param name="tablePattern">
''' The TablePattern object of interest.
''' </param>
''' <returns>
''' The table primary row or column headers.
''' </returns>
'''--------------------------------------------------------------------
Private Overloads Function GetPrimaryHeaders( _
ByVal tablePattern As TablePattern) As AutomationElement()
If tablePattern.Current.RowOrColumnMajor = _
RowOrColumnMajor.RowMajor Then
Return tablePattern.Current.GetRowHeaders()
End If
If tablePattern.Current.RowOrColumnMajor = _
RowOrColumnMajor.ColumnMajor Then
Return tablePattern.Current.GetColumnHeaders()
End If
Return Nothing
End Function 'GetPrimaryHeaders