RadControls for WinForms

 In order to iterate the child rows collections you could use grid template's GetChildRows method:

 

Copy[C#] Iterating the child rows collection of a chosen parent row in hierarchy RadGridView
private void IterateChildRows(GridViewRowInfo rowInfo)
{
    bool expandedState = rowInfo.IsExpanded;
    rowInfo.IsExpanded = true;

    GridViewRowInfo[] childRows = rowInfo.ChildRows.ToArray<GridViewRowInfo>();

    for (int i = 0; i < childRows.Length; i++)
    {
        //do something with childRows[i]:  
        Console.WriteLine(childRows[i].Cells[0].Value);
    }

    rowInfo.IsExpanded = expandedState;

    this.radGridView1.TableElement.Update(GridUINotifyAction.Reset);
}
Copy[VB.NET] Iterating the child rows collection of a chosen parent row in hierarchy RadGridView
Private Sub IterateChildRows(ByVal rowInfo As GridViewDataRowInfo)
    Dim expandedState As Boolean = rowInfo.IsExpanded
    rowInfo.IsExpanded = True

    Dim childRows As GridViewRowInfo() = rowInfo.ChildRows.ToArray()
    For i As Integer = 0 To childRows.Length - 1

        'do something with childRows[i]:
        Console.WriteLine(childRows(i).Cells(0).Value)
    Next

    rowInfo.IsExpanded = expandedState

    Me.RadGridView1.TableElement.Update(GridUINotifyAction.Reset)
End Sub