Ok

And about Merging, I do something wrong ?

And may I propose these Functions ? :

```
FUNCTION GetChildAvailable(
Sender : TAdvColumnGrid;
Row : Integer)
: Integer;
VAR
I : Integer;
BEGIN
(Sender AS TAdvColumnGrid).BeginUpdate;
result := -1;
TRY
IF (Sender AS TAdvColumnGrid).IsNode(Row) THEN
BEGIN
result := 0;
FOR I := Row + 1 TO Row + (Sender AS TAdvColumnGrid).GetNodeSpan(Row) - 1 DO
BEGIN
IF (NOT(Sender AS TAdvColumnGrid).IsSuppressedRow(I)) AND (NOT(Sender AS TAdvColumnGrid).IsHiddenRow(I)) THEN
Inc(result);
END; // Fin de IF
END;
FINALLY
(Sender AS TAdvColumnGrid).EndUpdate;
END; // Fin de FINALLY
END; // Fin de FUNCTION
```

returns the number of child from a node

and

```
FUNCTION GetChildSupp_Hidden(
Sender : TAdvColumnGrid;
Row : Integer)
: Integer;
VAR
I : Integer;
BEGIN
(Sender AS TAdvColumnGrid).BeginUpdate;
result := -1;
TRY
IF (Sender AS TAdvColumnGrid).IsNode(Row) THEN
BEGIN
result := 0;
FOR I := Row + 1 TO Row + (Sender AS TAdvColumnGrid).GetNodeSpan(Row) - 1 DO
BEGIN
IF (Sender AS TAdvColumnGrid).IsSuppressedRow(I) OR (Sender AS
AdvColumnGrid).IsHiddenRow(I) THEN
Inc(result);
END; // Fin de IF
END;
FINALLY
(Sender AS TAdvColumnGrid).EndUpdate;
END; // Fin de FINALLY
END; // Fin de FUNCTION
```

returns the number of suppressed or hidden rows for a node