getActiveFindBox();
Метод getActiveFindBox возвращает контейнер для поиска элементов справочника НСИ на активной вкладке.
Метод возвращает объект типа PP.Rds.Ui.FindBox.
Для выполнения примера необходимо наличие на странице компонента DictionaryBox с наименованием «dictionaryBox» (см. «Пример создания компонента DictionaryBox» ). Отобразим контейнер для поиска элементов справочника НСИ, выведем количество дочерних элементов его источника данных, отфильтруем их по строке «Секунда» и обработаем событие ActiveTreeEdited:
// Получим область данных справочника var dataArea = dictionaryBox.getDataArea(); // Получим активный контейнер для поиска элементов справочника var findBox = dataArea.getActiveFindBox(); // Отобразим его dataArea.showFindBox(); // Выведем количество элементов источника данных контейнера поиска console.log("Количество элементов источника данных контейнера поиска: " + findBox.getSource().getChildEls().length); // Обработаем событие FindChanged findBox.FindChanged.add(function (sender, args) { console.log("Текст фильтра: %s", args.Filter.text); }); // Обработаем событие ActiveTreeEdited dataArea.ActiveTreeEdited.add(function (sender, args) { console.log("Представление текущего справочника было изменено"); }); // Получим настройки поиска var filterSettings = findBox.getFilterSettings(); // Отфильтруем элементы по тексту «Секунда» filterSettings.text = "Секунда"; findBox.setFilterSettings(filterSettings, true); // Получим строку поиска var findTextBox = findBox._FindTextBox; // Установим текст в данной строке findTextBox.setContent(filterSettings.text); // Применим фильтр findTextBox.Enter.fire(findTextBox);
В результате выполнения примера был отображён контейнер для поиска элементов справочника НСИ, в консоли браузера было выведено количество дочерних элементов его источника данных, элементы данного справочника были отфильтрованы по строке «Секунда»:
В консоли браузера после срабатывания обработчика события ActiveTreeEdited было выведено сообщение о том, что представление текущего справочника было изменено.
Теперь скроем контейнер для поиска элементов справочника НСИ:
dataArea.hideFindBox();
После выполнения указанной строки сценарий данный контейнер будет скрыт, а применённый фильтр будет сброшен:
В консоли браузера будет выведено то же сообщение.
См. также: