IDimTextCriteria.CriteriaOptions

Синтаксис

CriteriaOptions: TextCriteriaOptions;

CriteriaOptions: Prognoz.Platform.Interop.Dimensions.TextCriteriaOptions;

Описание

Свойство CriteriaOptions определяет параметры поиска.

Пример

Для выполнения примера разместите на форме компонент Label с наименованием LABEL1, EditBox/TextBox с наименованием EDITBOX1/TEXTBOX1, два компонента Button с наименованиями BUTTON1/BUTTON2, компонент DimensionTree/DimensionTreeNet с наименованием DEMENTIONTREE1/DEMENTIONTREENET1, UiDimension/UiDimensionNet с наименованием UIDEMENTION1/UIDEMENTIONNET1 и MetabaseOpenDialog/MetabaseOpenDialogNet с наименованием METABASEOPENDIALOG1/METABASEOPENDIALOGNET1.

Измените значения свойства Text для компонентов: Label значение «Текст поиска», EditBox/TextBox задайте пустое значение, для компонента Button с наименованием BUTTON1 установите значение «Поиск», для BUTTON1 значение «Открыть». Для компонента DimensionTree/DimensionTreeNet свойству Dimention установите значение «UiDimension1/UiDimensionNet1».

Добавьте ссылки на системные сборки: Dimentions и Metabase.

Class UserProc: Form
    EditBox1: EditBox;
    Button1: Button;
    Button2: Button;
    Label1: Label;
    UiDimension1: UiDimension;
    MetabaseOpenDialog1: MetabaseOpenDialog;
    DimensionTree1: DimensionTree;
    
Function Search(DimInst: IDimInstance; SearchStr: String): IDimSelection;
Var
    Result: IDimSelection;
    TextCriteria: IDimTextCriteria;
    OrmManager: IDimOrmManager;
Begin
    
If IsNull(dimInst) Or searchStr.IsEmpty Then
        
Return Result;
    
End If;
    TextCriteria := 
New DimTextCriteria.Create;
    TextCriteria.CriteriaOptions := TextCriteriaOptions.LikeText 
Or TextCriteriaOptions.SearchStringAttributes;
    TextCriteria.Text := SearchStr;
    Result := DimInst.CreateSelection;
    OrmManager := 
New DimOrmManager.Create;
    OrmManager.CreateCondition(DimInst.Dimension, TextCriteria).SelectElements(Result);
    
Return Result;
End Function search;

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Begin
    UiDimension1.Selection := Search(UiDimension1.DimInstance, EditBox1.Text);
End Sub Button1OnClick;

Sub Button2OnClick(Sender: Object; Args: IMouseEventArgs);
Begin
    
If MetabaseOpenDialog1.Execute(Self) Then
        UiDimension1.Active := 
False;
        UiDimension1.Dimension := MetabaseOpenDialog1.Object.Bind 
As IDimensionModel;
        UiDimension1.Active := 
True;
    
End If;
End Sub Button2OnClick;
End Class UserProc;

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Metabase;

Function Search(dimInst: IDimInstance; SearchStr: String): IDimSelection;
Var
    Result: IDimSelection;
    TextCriteria: DimTextCriteria;
    OrmManager: IDimOrmManager;
    
Begin
    
If DimInst = Null Or String.IsNullOrEmpty(SearchStr) Then
        
Return Result;
    
End If;
    TextCriteria := 
New DimTextCriteria.Create();
    TextCriteria.CriteriaOptions := TextCriteriaOptions.tecropLikeText 
Or TextCriteriaOptions.tecropSearchStringAttributes;
    TextCriteria.Text := SearchStr;
    Result := DimInst.CreateSelection();
    OrmManager := 
New DimOrmManager.Create();
    OrmManager.CreateCondition(DimInst.Dimension, TextCriteria).SelectElements(Result, 
Null);
    
Return Result;
End Function Search;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Begin
    UiDimensionNet1.Selection := search(UiDimensionNet1.DimInstance, TextBox1.Text);
End Sub;

Private Sub button2_Click(sender: System.Object; e: System.EventArgs);
Begin
    
If MetabaseOpenDialogNet1.Execute(Self) Then
        UiDimensionNet1.Active := 
False;
        UiDimensionNet1.Dimension := MetabaseOpenDialogNet1.Object.Bind() 
As IDimensionModel;
        UiDimensionNet1.Active := 
True;
   
End If;
End Sub;
End Class;

После запуска формы нажмите кнопку «Открыть» и выберите справочник. В результате в форме отобразится иерархический список элементов справочника. Введите текст для поиска и нажмите кнопку «Поиск». В результате отметка в списках будет изменена: будут отмечены только те элементы, которые соответствуют критерию поиска.

См. также:

IDimTextCriteria