DataSource#
DataSource - компонента, которая содержит описание источника данных Pivotа.
Для задания источника данных нужно добавить тег DataSource в тег Pivot в разметке формы или вызвать метод setDataSource у экземпляра Pivot.
Для работы со свойствами и методами компоненты DataSource нужно получить ее экземпляр, вызвав метод getDataSource у экземпляра Pivot.
В качестве источника данных может выступать OLAP-куб (тип источника xmla), либо предоставленные программистом данные с помощью callbackа loader (тип источника custom).
Свойства#
Все свойства доступны только для чтения. Для изменения свойств необходимо перезадать источник данных с помощью метода setDataSource.
catalog#
| тип | значение по умолчанию | допустимые значения |
|---|---|---|
| string | - |
Указывает базу данных (или начальный каталог) olap-куба (только для источника данных типа xmla)
cube#
| тип | значение по умолчанию | допустимые значения |
|---|---|---|
| string | - |
Задает имя olap-куба (только для источника данных типа xmla)
retrieveFields#
| тип | значение по умолчанию | допустимые значения |
|---|---|---|
| bool | true | true/false |
Указывает, следует ли автоматически генерировать поля по источнику данных
type#
| тип | значение по умолчанию | допустимые значения |
|---|---|---|
| string | - | xmla, custom |
Тип источника данных
url#
| тип | значение по умолчанию | допустимые значения |
|---|---|---|
| string | - | xmla, custom |
Задает URL-адрес MSMDPUMP.dll в формате http://serverName:port/OLAP/msmdpump.dll (только для источника данных типа xmla)
Методы#
collapseAll(id)#
Сворачивает все элементы заголовка поля
id- идентификатор, в качестве которого может выступать name, dataField или caption поляcollapseHeaderItem(area, path)- сворачивает определенный элемент заголовкаarea- область, к которой относится элемент ('row', 'column')path- массив, содержащий набор ключей до этого элемента. В качестве ключа выступает свойство key элемента, полученного с помощью метода getData
expandAll(id)#
Раскрывает все элементы заголовка поля
id- идентификатор, в качестве которого может выступать name, dataField или caption поля
expandHeaderItem(area, path)#
Раскрывает определенный элемент заголовка
area- область, к которой относится элемент ('row', 'column')path- массив, содержащий набор ключей до этого элемента. В качестве ключа выступает свойство key элемента, полученного с помощью метода getData
getAreaFields(area, collectGroups)#
Возвращает описание всех полей в области
area- область ('row', 'column')collectGroups- флаг отображения группированных полей в виде одной записи (по умолчанию false)
getField(id)#
Возвращает описание поля
id- идентификатор, в качестве которого может выступать name, dataField или caption поля
getFields()#
Возвращает описание всех полей
getFilter()#
Возвращает условия фильтрации (только для источника данных типа custom)
getData()#
Возвращает загруженные данные
getInitialOptions()#
Возвращает объект опций источника данных
getState()#
Возвращает текущее состояние
isLoading()#
Возвращает флаг, загружаются ли данные
load()#
Начинает загрузку данных, возвращает Promise
reload()#
Очищает загруженные данные и вызывает метод load, возвращает Promise
setField(id, options)#
Обновляет значения свойств поля. Для обновления контрола нужно вызвать метод load()
id- идентификатор, в качестве которого может выступать name, dataField или caption поляoptions- описание поля с помощью свойств
setFields(fields)#
Задает новую коллекцию полей. Для обновления контрола нужно вызвать метод load()
fields- массив объектов, каждый из которых описан с помощью свойств
setFilter(exp)#
Устанавливает фильтр (только для источника данных типа custom). Для обновления контрола нужно вызвать метод load()
exp- условия фильтрации
setState(state)#
Устанавливает состояние
- state - объект состояния, возвращаемый методом getState, или null или {} для сброса в состояние при инициализации
Объект опций#
Содержит описание параметров подключения и полей:
beforeSend- сallbackcatalog- свойство catalogcube- свойство cubefields- массив объектов, содержащих описания Fieldurl на момент инициализации источника данныхfilter- filterloader- loaderretrieveFields- свойство retrieveFieldstype- свойство typetypeurl- свойство url
Callbacks#
beforeSend(e)#
Используется для настройки запроса перед его отправкой на сервер (только для источника данных типа xmla), где объект параметров запроса e содержит
url- URL запросаmethod- метод запроса ("GET", "POST", "PATCH", "MERGE")headers- заголовки запросаxhrFields- собственные свойства объекта XMLHttpRequestdata- строка запросаdataType- тип данных ожидаемого результата
filter()#
Используется для настройки фильтрации данных (только для источника данных типа custom). Должен возвращать условия фильтрации в виде массива.
loader()#
Используется для настройки загрузчика данных (только для источника данных типа custom). Должен возвращать данные в виде массива или объекта Promise.
События#
changed(s)#
Возникает после успешной загрузки данных, где
| параметр | тип | описание |
|---|---|---|
| s | DataSource | ссылка на экземпляр DataSource |
fieldsPrepared(s, e)#
Возникает, когда все поля загружены из источника данных и готовы к отображению, где
| параметр | тип | описание |
|---|---|---|
| s | Pivot | ссылка на экземпляр DataSource |
| e | object | объект параметров события |
| e.args | object | аргументы события |
| e.args.fields | конфигурации всех полей |
loadFailed(s, e)#
Возникает при сбое загрузки данных, где
| параметр | тип | описание |
|---|---|---|
| s | Pivot | ссылка на экземпляр DataSource |
| e | object | объект параметров события |
| e.args | object | аргументы события |
| e.args.error | объект ошибки |
loadingChanged(s, e)#
Возникает при изменении статуса загрузки данных, где
| параметр | тип | описание |
|---|---|---|
| s | Pivot | ссылка на экземпляр DataSource |
| e | object | объект параметров события |
| e.args | object | аргументы события |
| e.args.isLoading | индикатор, загружаются ли данные |