property Items.NextSiblingItem (Item as HITEM) as HITEM

Retrieves the next sibling of the item in the parent's child list.

 TypeDescription 
   Item as HITEM A long expression that indicates the item's handle.  
   HITEM A long expression that indicates the next sibling item's handle.  

The NextSiblingItem property retrieves the next sibling of the item in the parent's child list. Use ItemChild and NextSiblingItem properties to enumerate the collection of child items. Use the FirstVisibleItem property to get the first visible item in the control's client area. The NextVisibleItem property retrieves the handle of next visible item.

The following VB function recursively enumerates the item and all its child items:

Sub RecItem(ByVal c As EXGRIDLibCtl.Grid, ByVal h As HITEM)
    If Not (h = 0) Then
        Dim hChild As HITEM
        With c.Items
            Debug.Print .CellCaption(h, 0)
            hChild = .ItemChild(h)
            While Not (hChild = 0)
                RecItem c, hChild
                hChild = .NextSiblingItem(hChild)
            Wend
        End With
    End If
End Sub

The following C++ function recursively enumerates the item and all its child items:

void RecItem( CGrid* pGrid, long hItem )
{
	COleVariant vtColumn( (long)0 );
	if ( hItem )
	{
		CItems items = pGrid->GetItems();

		CString strCaption = V2S( &items.GetCellValue( COleVariant( hItem ), vtColumn ) ), strOutput;
		strOutput.Format( "Cell: '%s'\n", strCaption );
		OutputDebugString( strOutput );

		long hChild = items.GetItemChild( hItem );
		while ( hChild )
		{
			RecItem( pGrid, hChild );
			hChild = items.GetNextSiblingItem( hChild );
		}
	}
}

The following VB.NET function recursively enumerates the item and all its child items:

Shared Sub RecItem(ByVal c As AxEXGRIDLib.AxGrid, ByVal h As Integer)
    If Not (h = 0) Then
        Dim hChild As Integer
        With c.Items
            Debug.WriteLine(.CellCaption(h, 0))
            hChild = .ItemChild(h)
            While Not (hChild = 0)
                RecItem(c, hChild)
                hChild = .NextSiblingItem(hChild)
            End While
        End With
    End If
End Sub

The following C# function recursively enumerates the item and all its child items:

internal void RecItem(AxEXGRIDLib.AxGrid  grid, int hItem)
{
	if (hItem != 0)
	{
		EXGRIDLib.Items items = grid.Items;
		object caption = items.get_CellValue( hItem, 0 );
		System.Diagnostics.Debug.WriteLine(caption != null ? caption.ToString() : "");

		int hChild = items.get_ItemChild(hItem);
		while (hChild != 0)
		{
			RecItem(grid, hChild);
			hChild = items.get_NextSiblingItem(hChild);
		}
	}
}

The following VFP function recursively enumerates the item and all its child items ( recitem method ):

LPARAMETERS h

with thisform.Grid1
    If ( h != 0 ) Then
        local hChild
        With .Items
        	.DefaultItem = h
            wait window .CellCaption(0, 0)
            hChild = .ItemChild(h)
            do While (hChild != 0)
                thisform.recitem(hChild)
                hChild = .NextSiblingItem(hChild)
            enddo
        EndWith
    EndIf
endwith


Send comments on this topic.
1999-2017 Exontrol.COM, Software. All rights reserved.