setSort (method, dimAttrId, fireEvent);
method. Задает тип сортировки. Значение параметра – элемент перечисления PP.Ui.TreeListSort.
dimAttrId. Задает идентификатор атрибута измерения по которому нужно выполнить сортировку;
fireEvent. Задает, вызывать ли событие TreeSortChanged, по умолчанию true.
Метод setSort устанавливает сортировку.
Для выполнения примера предполагается наличие на странице компонента WorkbookBox с наименованием «workbookBox» (см. «Пример создания компонента WorkbookBox»), также необходимо в обработчике события открытия документа добавить следующий код:
var brCr = workbookBox.getDataView().getBreadcrumb(); var mattr = brCr.getMetaAttributes().getItem(0); var item = mattr._BreadcrumbItem; //Получаем объект PP.TS.Ui.MetaAttribute по идентификатору атрибута var metaattr = brCr.getMetaAttributeById(item.getId()); //У полученного атрибута получаем раскрывающуюся панель, соответствующую атрибуту var panel = metaattr.getDropPanel(); //Раскрываем панель showPanel(); var setSortButt = new PP.Ui.Button({ ParentNode: document.body, //родительский узел DOM Content: "Изменить сортировку", //Текст Click: PP.Delegate(onClickSetSort) }); var order; var sort = true; function onClickSetSort(){ if (sort) { order = 1; //Задаем сортировку metaattr.setSort(order, "NAME"); metaattr.getTree().sort("NAME", order); } else { order = 2; //Задаем сортировку metaattr.setSort(order, "NAME"); metaattr.getTree().sort("NAME", order); } sort = !sort; showPanel(); } //При двойном щелчке изменяется сортировка function showPanel() { //Вычисляем координаты левого верхнего угла раскрывающейся панели var visibilityObject = panel.isVisibleArea(0, 0); //Вычисляем смещение var coords = PP.calculateOffset(item._DomNode); //Вычисляем координату по оси Y
var top = coords.Y + item._DomNode.offsetHeight + 1; var left = 0; if (brCr.getIsRTL()) //Вычисляем координату по оси X left = coords.X + item._DomNode.offsetWidth - visibilityObject.Width + 1; else //Вычисляем координату по оси Y left = coords.X - 1; //Отображаем панель panel.show(left, top); }
После выполнения примера на html-странице будет раскрыта панель первого атрибута навигационной цепочки и размещена кнопка с наименованием «Изменить сортировку». При двойном нажатии на кнопку будет изменен тип сортировки элементов атрибута в раскрытой панели.
См. также: