バージョン

GetSibling(SiblingRow,Boolean) メソッド

この行の兄弟行を返します。兄弟行は、同じ親行を持つ行と定義されます。注: バンド 0 の行は親行を持ちませんが、バンド 0 のすべての行は兄弟行と見なされます。
シンタックス
'宣言
 
Public Overloads Function GetSibling( _
   ByVal sibling As SiblingRow, _
   ByVal spanBands As Boolean _
) As UltraGridRow
public UltraGridRow GetSibling( 
   SiblingRow sibling,
   bool spanBands
)

パラメータ

sibling
返す兄弟を指定します
spanBands
バンド 0 行を無視しました

戻り値の型

兄弟行(存在する場合)
解説

このメソッドを起動して、行の最初、最後、次、または前の兄弟行への参照を返します。兄弟行が存在しない場合、このメソッドは Nothing を返します。

spanbands 引数は、他のバンドの行が兄弟と考えられるかどうかを示すために使用できます。

HasNextSibling および HasPrevSibling メソッドを起動して、行がその前後に兄弟行をそれぞれ持つかどうかを決定します。

GetChild メソッドおよび HasParent プロパティを使用して、子行および親行への参照をそれぞれ返すことができます。

使用例
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." );

}
参照