| Visual Basic (Declaration) | |
|---|---|
Public Overloads Function GetChild( _ ByVal child As ChildRow _ ) As UltraGridRow | |
| C# | |
|---|---|
public UltraGridRow GetChild( ChildRow child ) | |
Parameters
- child
- Indicates which child row to retrieve.
Return Value
A reference to the first or last child row of a row.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.
| Visual Basic | Copy Code |
|---|---|
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 | |
| C# | Copy Code |
|---|---|
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." ); } | |
Invoke this method to return a reference to either the first or last child row of a parent row. If a child row does not exist, this method returns Nothing.
The band argument can be used to specify a child rowset in which a child row should be sought. If band is not specified, this method attempts to find a child row in all child rowsets.
The GetChild method can be invoked to determine whether a row has a child row.
The HasParent property and GetSibling method can be used to return references to a parent row and a sibling row, respectively.