Sub OnCompareItems(Sender: Object; Args: IDimensionViewerCompareEventArgs);
Begin
//набор операторов;
End Sub OnCompareItems;
Sender - параметр, возвращающий компонент, сгенерировавший событие.
Args - параметр, позволяющий определить параметры события.
Событие OnCompareItems наступает при сравнении двух элементов во время пользовательской сортировки элементов.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1" и компонента DimensionTree с наименованием "DimensionTree1". Элементы во втором столбце содержат целочисленные значения.
Class TestForm: Form
DimensionTree1: DimensionTree;
UiDimension1: UiDimension;
Button1: Button;
AttrInst: IDimAttributeInstance;
Sub DimensionTree1OnCompareItems(Sender: Object; Args: IDimensionViewerCompareEventArgs);
Var
i, j: Integer;
Begin
i := AttrInst.Value(Args.LeftItem);
j := AttrInst.Value(Args.RightItem);
If i > j Then
Args.Compare := -1;
Else
Args.Compare := 1;
End If;
End Sub DimensionTree1OnCompareItems;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Inst: IDimInstance;
Begin
Inst := UiDimension1.DimInstance;
AttrInst := Inst.Attributes.Item(1);
DimensionTree1.SortType := ControlSortType.Custom;
DimensionTree1.SortColumn := 1;
DimensionTree1.Sorted := True;
DimensionTree1.SortDefault;
End Sub Button1OnClick;
End Class TestForm;
После выполнения примера при нажатии на кнопку будет осуществлена пользовательская сортировка по значениям второй колонки компонента. Значения будут упорядочены по убыванию.
См. также: