CriteriaOptions: TextCriteriaOptions;
Свойство CriteriaOptions определяет параметры поиска.
Для выполнения примера разместите на форме компонент Label с наименованием LABEL1, EditBox с наименованием EDITBOX1, два компонента Button с наименованиями BUTTON1, BUTTON2, компонент DimensionTree с наименованием DEMENTIONTREE1, UiDimension с наименованием UIDEMENTION1 и MetabaseOpenDialog с наименованием METABASEOPENDIALOG1.
Измените значения свойства Text для компонентов: Label значение «Текст поиска», EditBox задайте пустое значение, для компонента Button с наименованием BUTTON1 установите значение «Поиск», для BUTTON1 значение «Открыть». Для компонента DimensionTree свойству Dimention установите значение «UiDimension1».
Добавьте ссылки на системные сборки: 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;
После запуска формы нажмите кнопку «Открыть» и выберите справочник. В результате в форме отобразится иерархический список элементов справочника. Введите текст для поиска и нажмите кнопку «Поиск». В результате отметка в списках будет изменена: будут отмечены только те элементы, которые соответствуют критерию поиска.
См. также: