IRdsElementComparer.Less

Синтаксис

Less(LValue: IRdsDictionaryElement; RValue:IRdsDictionaryElement): Boolean;

Параметры

LValue, RValue. Элементы сортировки.

Описание

Метод Less сравнивает элементы, передаваемые посредством входных параметров  LValue и RValue.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента RdsDictionaryBox с наименованием «RdsDictionaryBox1» и компонента UiRdsDictionary, являющегося источником данных для «RdsDictionaryBox1».

Class OBJ26217Form: Form
    RdsDictionaryBox1: RdsDictionaryBox;
    UiRdsDictionary1: UiRdsDictionary;
    Button1: Button;
    dictionary: IRdsDictionaryInstance;
    sorter: IRdsElementsSorter;

    Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    Var
        com: CustomComparer;
    Begin
        com := New CustomComparer.Create;
        sorter := dictionary.Elements.CreateSorter(dictionary.Elements.Root);
        sorter.Comparer := com As IRdsElementComparer;
        sorter.Sort(True);
       RdsDictionaryBox1.RefreshElements;
    End Sub Button1OnClick;

    Sub OBJ26217FormOnShow(Sender: Object; Args: IEventArgs);
    Begin
        dictionary := rdsdictionaryBox1.Source.Instance;
    End Sub OBJ26217FormOnShow;

End Class OBJ26217Form;

Class CustomComparer: Object, IRdsElementComparer
    Function Less(LValue: IRdsDictionaryElement; RValue: IRdsDictionaryElement): Boolean;
    Var
            comp: IComparer;
        Begin
            comp := comparer.StringCaseInsensitiveComparer;
            If (Comp.Compare(LValue.Name, RValue.Name) > 0Then Return True
                Else Return False;
            End If;
            End Function Less;
End Class CustomComparer;

После выполнения примера при нажатии кнопки будет создан пользовательский сортировщик элементов справочника НСИ.

См. также:

IRdsElementComparer