Class ElementTreeHelper
Provides utility methods that perform common tasks involving nodes in a LayoutElement tree.
Inheritance
Namespace: Telerik.Reporting.Processing
Assembly: Telerik.Reporting.dll
Syntax
public static class ElementTreeHelper
Methods
ContainsChildWithName(LayoutElement, String)
Determines whether a parent layout element contains immediate child having a specified name.
Declaration
public static bool ContainsChildWithName(LayoutElement parent, string name)
Parameters
LayoutElement
parent
The parent element to search within. |
System.String
name
The name to search for. |
Returns
System.Boolean
true if an layout element having the specified parent and name is found; Otherwise, false. |
Examples
This example shows how to determine if a child with name is contained in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_ContainsChildWithName(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
if (Processing.ElementTreeHelper.ContainsChildWithName(processingInstance, "textBox1"))
{
processingInstance.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
Private Sub DetailSection_ItemDataBinding_Using_ContainsChildWithName(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
If Processing.ElementTreeHelper.ContainsChildWithName(processingInstance, "textBox1") Then
processingInstance.Style.BackgroundColor = System.Drawing.Color.Blue
End If
End Sub
FindChildByName(LayoutElement, String, Boolean)
Searches for all layout elements with a specified name within a specified parent.
Declaration
public static LayoutElement[] FindChildByName(LayoutElement parent, string name, bool searchAllChildren)
Parameters
LayoutElement
parent
The parent element to search within. |
System.String
name
The name to search for. |
System.Boolean
searchAllChildren
If true, all descendants within the specified parent are matched (deep search). Otherwise, only immediate children are matched. |
Returns
LayoutElement[]
Array containing all matching by name children / descendants. If no elements are found an empty array is returned |
Examples
This example shows how to find all children with name in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_FindChildByName(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
Processing.LayoutElement[] elements = Processing.ElementTreeHelper.FindChildByName(processingInstance, "textBox1", true);
foreach (Processing.LayoutElement child in elements)
{
Processing.VisualElement visualChild = child as Processing.VisualElement;
if (null != visualChild)
{
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
}
Private Sub DetailSection_ItemDataBinding_Using_FindChildByName(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
Dim elements As Processing.LayoutElement() = Processing.ElementTreeHelper.FindChildByName(processingInstance, "textBox1", True)
For Each child As Processing.LayoutElement In elements
Dim visualChild As Processing.VisualElement = TryCast(child, Processing.VisualElement)
If visualChild IsNot Nothing Then
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue
End If
Next
End Sub
GetChildByIndex(LayoutElement, Int32)
Returns the immediate child layout element within a specified parent at specified index.
Declaration
public static LayoutElement GetChildByIndex(LayoutElement parent, int index)
Parameters
LayoutElement
parent
The parent element to search within. |
System.Int32
index
The zero-based index of the child to get. |
Returns
LayoutElement
Layout element having the specified parent at the specified index. |
Examples
This example shows how to access a child by index in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_GetChildByIndex(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
Processing.LayoutElement child = Processing.ElementTreeHelper.GetChildByIndex(processingInstance, 0);
Processing.VisualElement visualChild = child as Processing.VisualElement;
if (null != visualChild)
{
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
Private Sub DetailSection_ItemDataBinding_Using_GetChildByIndex(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
Dim child As Processing.LayoutElement = Processing.ElementTreeHelper.GetChildByIndex(processingInstance, 0)
Dim visualChild As Processing.VisualElement = TryCast(child, Processing.VisualElement)
If visualChild IsNot Nothing Then
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue
End If
End Sub
GetChildByName(LayoutElement, String)
Returns the first immediate child layout element within a specified parent having a specified name.
Declaration
public static LayoutElement GetChildByName(LayoutElement parent, string name)
Parameters
LayoutElement
parent
The parent element to search within. |
System.String
name
The name to search for. |
Returns
LayoutElement
Layout element having the specified name and parent. |
Examples
This example shows how to get a child by name in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_GetChildByName(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
Processing.LayoutElement child = Processing.ElementTreeHelper.GetChildByName(processingInstance, "textBox1");
Processing.VisualElement visualChild = child as Processing.VisualElement;
if (null != visualChild)
{
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
Private Sub DetailSection_ItemDataBinding_Using_GetChildByName(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
Dim child As Processing.LayoutElement = Processing.ElementTreeHelper.GetChildByName(processingInstance, "textBox1")
Dim visualChild As Processing.VisualElement = TryCast(child, Processing.VisualElement)
If visualChild IsNot Nothing Then
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue
End If
End Sub
GetChildElements(LayoutElement)
Returns all immediate child layout elements within a specified parent.
Declaration
public static IEnumerable<LayoutElement> GetChildElements(LayoutElement parent)
Parameters
LayoutElement
parent
The parent element. |
Returns
System.Collections.Generic.IEnumerable<LayoutElement>
Enumerable of all layout elements having the specified parent. If the parent does not have children, an empty enumeration is returned. |
Examples
This example shows how to access all children of a parent layout element in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_GetChildElements(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
IEnumerable elements = Processing.ElementTreeHelper.GetChildElements(processingInstance);
foreach (Processing.LayoutElement child in elements)
{
Processing.VisualElement visualChild = child as Processing.VisualElement;
if (null != visualChild)
{
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
}
Private Sub DetailSection_ItemDataBinding_Using_GetChildElements(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
Dim elements As System.Collections.Generic.IEnumerable(Of Processing.LayoutElement) = Processing.ElementTreeHelper.GetChildElements(processingInstance)
For Each child As Processing.LayoutElement In elements
Dim visualChild As Processing.VisualElement = TryCast(child, Processing.VisualElement)
If visualChild IsNot Nothing Then
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue
End If
Next
End Sub
IndexOfChildWithName(LayoutElement, String)
Returns the zero-based index of the first occurrence of a layout element with a specified name within a parent.
Declaration
public static int IndexOfChildWithName(LayoutElement parent, string name)
Parameters
LayoutElement
parent
The parent element to search within. |
System.String
name
The name to search for. |
Returns
System.Int32
The zero-based index of the first occurrence of a layout element having the specified name within the specified parent. |
Examples
This example shows how to get the index of a child in a ItemDataBinding event handler.
void DetailSection_ItemDataBinding_Using_IndexOfChildWithName(object sender, EventArgs e)
{
Processing.DetailSection processingInstance = (Processing.DetailSection)sender;
int index = Processing.ElementTreeHelper.IndexOfChildWithName(processingInstance, "textBox1");
if (index >= 0)
{
Processing.LayoutElement child = Processing.ElementTreeHelper.GetChildByIndex(processingInstance, index);
Processing.VisualElement visualChild = child as Processing.VisualElement;
if (null != visualChild)
{
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue;
}
}
}
Private Sub DetailSection_ItemDataBinding_Using_IndexOfChildWithName(sender As Object, e As EventArgs)
Dim processingInstance As Processing.DetailSection = DirectCast(sender, Processing.DetailSection)
Dim index As Integer = Processing.ElementTreeHelper.IndexOfChildWithName(processingInstance, "textBox1")
If index >= 0 Then
Dim child As Processing.LayoutElement = Processing.ElementTreeHelper.GetChildByIndex(processingInstance, index)
Dim visualChild As Processing.VisualElement = TryCast(child, Processing.VisualElement)
If visualChild IsNot Nothing Then
visualChild.Style.BackgroundColor = System.Drawing.Color.Blue
End If
End If
End Sub