AttributeFilterChanged(sender: Object, args: Object);
sender. Источник события;
args. Информация о событии. Доступный аргумент: JSON-объект с полем Source - источник данных мастера.
Событие AttributeFilterChanged наступает при изменении фильтра измерений атрибутов мастера PeriodSeriesViewMaster.
Для выполнения примера предполагается наличие на html-странице компонента PeriodSeriesViewMaster с наименованием «pswMaster» (см. «Пример создания компонента PeriodSeriesViewMaster»), а также наличие в базе данных временных рядов атрибута с наименованием «BCA». Обработаем событие AttributeFilterChanged так, чтобы при применении нового фильтра на панели «Ряды» выводился текст данного фильтра и общее количество измерений в дереве атрибута:
// Обработаем событие AttributeFilterChanged
pswMaster.AttributeFilterChanged.add(function (sender, args) {
console.log("Текст фильтра: " + args);
});
// Обработаем событие PropertyChanged
pswMaster.PropertyChanged.add(function (sender, args) {
console.log("Общее количество измерений в дереве атрибута: " + args.getMetadata());
});
// Получим панель «Ряды»
var item = pswMaster.getItems()[0];
// Получим поле для редактирования текста фильтра
var findTextBox = item._FindTextBox;
// Обработаем событие
findTextBox.ImageClick.add(function (sender, args) {
// Вызовем событие AttributeFilterChanged
pswMaster.AttributeFilterChanged.fire(findTextBox, findTextBox.getContent());
// Вызовем событие PropertyChanged
pswMaster.PropertyChanged.fire(this, new PP.Mb.Ui.PropertyChangedEventArgs({
PropertyName: PP.TS.Ui.ControlType.Filter,
// В качестве метаданных укажем количество отфильтрованных элементов
Metadata: item.getSeriesTreeView().getNodes().getCount(),
TypeUpdateData: [PP.TS.Ui.ViewTypeUpdate.PropertyBar]
}));
});
Введём в строку поиска «BCA» и нажмём на соответствующий значок. В результате выполнения примера в консоли браузера будет выводиться текст фильтра и общее количество измерений в дереве атрибута:
Текст фильтра: BCA
Общее количество измерений в дереве атрибута: 4
См. также: