MetaAttribute.setSort

Синтаксис

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-странице будет раскрыта панель первого атрибута навигационной цепочки и размещена кнопка с наименованием «Изменить сортировку». При двойном нажатии на кнопку будет изменен тип сортировки элементов атрибута в раскрытой панели.

См. также:

MetaAttribute