Version

GetSibling(SiblingRow) Method

Returns a sibling row (if any exist)
Syntax
'Declaration
 
Public Overloads Function GetSibling( _
   ByVal sibling As SiblingRow _
) As UltraGridRow
public UltraGridRow GetSibling( 
   SiblingRow sibling
)

Parameters

sibling
specifies which sibling to return

Return Value

A sibling row (if any exist)
Remarks

Invoke this method to return a reference to the first, last, next, or previous sibling row of a row. If a sibling row does not exist, this method returns Nothing.

The spanbands argument can be used to indicate whether rows in other bands are considered siblings.

The HasNextSibling and HasPrevSibling methods can be invoked to determine whether a row has a sibling row after it and before it, respectively.

The GetChild method and HasParent property can be used to return references to a child row and a parent row, respectively.

Example
Following code shows you how to traverse through all the rows in the UltraGrid. It finds out the number of regular rows (non-group-by rows) and number of group-by rows and shows the counts.

Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

  Private Sub TraverseAllRowsHelper(ByVal startRow As UltraGridRow, ByRef rowsCount As Integer, ByRef groupByRowsCount As Integer)

      Dim row As UltraGridRow = startRow

      While Not row Is Nothing
          If TypeOf row Is UltraGridGroupByRow Then
              ' Write code here to process the group by row.
              groupByRowsCount += 1
          Else
              ' Write code here to process the regular by row.
              rowsCount += 1
          End If

          ' If the row has any child rows, then process them too.
          If row.HasChild(False) Then
              Me.TraverseAllRowsHelper(row.GetChild(ChildRow.First), rowsCount, groupByRowsCount)
          End If

          row = row.GetSibling(SiblingRow.Next, True, False)
      End While

  End Sub

  Private Sub Button71_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button71.Click

      Dim rowsCount As Integer = 0
      Dim groupByRowsCount As Integer = 0

      ' Get the first row in the UltraGrid.
      Dim firstRow As UltraGridRow = Me.ultraGrid1.GetRow(ChildRow.First)

      ' Call the helper method which is a recursive implmentation for traversing rows.
      MessageBox.Show("Please wait. This operation may take a while depending on number of rows.")
      Me.TraverseAllRowsHelper(firstRow, rowsCount, groupByRowsCount)

      ' Show a dialog showing the number of regular rows and number of group-by rows.
      MessageBox.Show("The UltraGrid has " & rowsCount & " number of regular rows, and " & groupByRowsCount & " number of group-by rows.")

  End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void TraverseAllRowsHelper( UltraGridRow startRow, ref int rowsCount, ref int groupByRowsCount )
{

	UltraGridRow row = startRow;

	while ( null != row )
	{				
		if ( row is UltraGridGroupByRow )
		{
			// Write code here to process the group by row.
			groupByRowsCount++;
		}
		else
		{
			// Write code here to process the regular by row.
			rowsCount++;
		}

		// If the row has any child rows, then process them too.
		if ( row.HasChild( false ) )
		{
			this.TraverseAllRowsHelper( row.GetChild( ChildRow.First ), ref rowsCount, ref groupByRowsCount );
		}

		row = row.GetSibling( SiblingRow.Next, true, false );
	}

}

private void button71_Click(object sender, System.EventArgs e)
{

	int rowsCount = 0;
	int groupByRowsCount = 0;

	// Get the first row in the UltraGrid.
	UltraGridRow firstRow = this.ultraGrid1.GetRow( ChildRow.First );

	// Call the helper method which is a recursive implmentation for traversing rows.
	MessageBox.Show( "Please wait. This operation may take a while depending on number of rows." );
	this.TraverseAllRowsHelper( firstRow, ref rowsCount, ref groupByRowsCount );

	// Show a dialog showing the number of regular rows and number of group-by rows.
	MessageBox.Show( "The UltraGrid has " + rowsCount + " number of regular rows, and " + groupByRowsCount + " number of group-by rows." );

}
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also