Sort the items in the Tree
Member of Tree (PRIM_TREE)
Name | Type | Data Type | Description |
---|---|---|---|
Key | *Input | Variant | Value by which to sort |
Order | *Input (Optional) | Enumeration | Order in which to sort |
The Sort method is used to begin the sorting process within the Tree. The processing will cause the OnSort method on the Prim_Tree.TreeDesign interface to be executed whenever the sort deems it necessary. Sorting is entirely user defined and it is therefore necessary to supply the Key (the 'value' that is being sorted) and the Order to the sort routine. This information is then used in the OnSort method.
This example shows the redefined OnSort method implemented by the design reusable part. It supports 3 different sorts: EMPNO, SURNAME and GIVENAME. These Key values are entirely arbitrary, but for simplicity they match with specific field names. The sorting here is only ever Ascending. In each case, the local variable value is compared to the equivalent variable value, in this case published as a property of the design instance, to determine whether each value is less then, equal to, or greater than the other. The OnSort method may be called many times for each item as the sort process evaluates each of the items.
Mthroutine Name(OnSort) Options(*Redefine) Case (#Key) When (= EMPNO) #Result := #Empno.Compare( (#CompareTo.Design *As #EmployeePart).Empno ) When (= GIVENAME) #Result := #Givename.Compare( (#CompareTo.Design *As #EmployeePart).Givename ) When (= SURNAME) #Result := #Surname.Compare( (#CompareTo.Design *As #EmployeePart).Surname ) Endcase Endroutine
Febuary 18 V14SP2