CreateSearch: IRdsDictionaryElementsSearch;
CreateSearch: Prognoz.Platform.Interop.Rds.IRdsDictionaryElementsSearch;
Метод CreateSearch создает объект, осуществляющий поиск элементов справочника НСИ с расширенными возможностями поиска.
В отличие от объекта поиска, создаваемого с помощью метода CreateLookup, данный поиск будет осуществляться на основании различных критериев.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента RdsDictionaryBox с идентификатором «RdsDictionaryBox1» и какого-либо компонента UiRdsDictionary являющегося источником данных для «RdsDictionaryBox1». В справочнике НСИ, который подключен к компоненту UiRdsDictionary, имеются атрибуты «Name» и «UserAttr».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
RdsInst: IRdsDictionaryInstance;
Search: IRdsDictionaryElementsSearch;
Crit: IDimTextCriteria;
Res: IRdsDictionaryElementList;
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 := "Доход насел";
Search.SetTextCriteria(Crit);
Res := Search.FindAllList;
Debug.WriteLine(Res.Count);
End Sub Button1OnClick;
После выполнения примера при нажатии на кнопку будет осуществлен поиск элементов справочника НСИ с указанными параметрами критерия поиска. Поиск будет осуществляться по значениям указанных атрибутов. Количество найденных элементов будет выведено в консоль среды разработки.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
RdsInst: IRdsDictionaryInstance;
Search: IRdsDictionaryElementsSearch;
Crit: DimTextCriteria;
Res: IRdsDictionaryElementList;
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 := "Доход насел";
Search.SetTextCriteria(Crit);
Res := Search.FindAllList();
Text := Res.Count.ToString();
End Sub;
См. также: