IRdsDictionaryElementsSearch.Condition

Синтаксис Fore

Condition: IDimOrmCondition;

Синтаксис Fore.NET

Condition: Prognoz.Platform.Interop.Dimensions.IDimOrmCondition;

Описание

Свойство Condition возвращает коллекцию условий поиска.

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента RdsDictionaryBox с наименованием «RdsDictionaryBox1» и какого-либо компонента UiRdsDictionary являющегося источником данных для «RdsDictionaryBox1». В справочнике НСИ, который подключен к компоненту UiRdsDictionary, имеются атрибуты «Name» и «UserAttr».

    Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    Var
        RdsInst: IRdsDictionaryInstance;
        Search: IRdsDictionaryElementsSearch;
        Cond: IDimOrmCondition;
        Crit: IDimTextCriteria;
        Elems: IRdsDictionaryElements;
        Elem: IRdsDictionaryElement;
        i: Integer;
    Begin
        RdsInst := RdsDictionaryBox1.Source.Instance;
        Search := RdsInst.CreateSearch;
        Search.Attributes.Attributes := "Name;UserAttr";
        Crit := New DimTextCriteria.Create;
        Crit.CriteriaOptions := TextCriteriaOptions.SearchStringAttributes
            Or TextCriteriaOptions.FreeText;
        Crit.Text := "Доход насел";
        Cond := Search.Condition;
        Cond.SetTextCriteria(Crit);
        Elems := RdsInst.Elements;
        For i := 0 To Elems.Count - 1 Do
            Elem := Elems.Item(i);
            Debug.WriteLine(Elem.Name + ": Условиям поиска удовлетворяет - " +
                Cond.EvaluateRec(Elem.Record).ToString);
        End For;
    End Sub Button1OnClick;

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

Пример Fore.NET

Для выполнения примера предполагается наличие .NET-формы, расположенной на ней кнопки с наименованием «Button1», компонента RdsDictionaryBoxNet с наименованием «RdsDictionaryBoxNet1», какого-либо компонента UiRdsDictionaryNet являющегося источником данных для «RdsDictionaryBoxNet1» и компонента TextBox с наименованием «TextBox1». В справочнике НСИ, который подключен к компоненту UiRdsDictionaryNet, имеются атрибуты «Name» и «UserAttr».

    Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
    Var
        RdsInst: IRdsDictionaryInstance;
        Search: IRdsDictionaryElementsSearch;
        Cond: IDimOrmCondition;
        Crit: DimTextCriteria;
        Elems: IRdsDictionaryElements;
        Elem: IRdsDictionaryElement;
        i: Integer;
        ElemList: List <string>;
    Begin
        RdsInst := RdsDictionaryBoxNet1.Source.Instance;
        Search := RdsInst.CreateSearch();
        Search.Attributes.Attributes := "Name;UserAttr";
        Crit := New DimTextCriteria();
        Crit.CriteriaOptions := TextCriteriaOptions.tecropSearchStringAttributes
            Or TextCriteriaOptions.tecropFreeText;
        Crit.Text := "Доход насел";
        Cond := Search.Condition;
        Cond.SetTextCriteria(Crit);
        Elems := RdsInst.Elements;
        ElemList := New List <string>();
        For i := 0 To Elems.Count - 1 Do
            Elem := Elems.Item[i];
            ElemList.Add(Elem.Name + ": Условиям поиска удовлетворяет - " +
                Cond.EvaluateRec(Elem.Record).ToString());
        End For;
        TextBox1.Lines := ElemList.ToArray();
    End Sub;

После выполнения примера при нажатии на кнопку будет создан объект для поиска элементов справочника НСИ. Будет установлено условие, в соответствии с которым будет производиться поиск. После этого будет осуществлена проверка всех элементов на соответствии условиям поиска. Наименования элементов и результат проверки будут выведены в компонент «TextBox1».

См. также:

IRdsDictionaryElementsSearch