Пространство имен :qlik.table
API таблиц – это способ для разработчиков создавать таблицы с использованием измерений и метрик, которые возвращаются в стандартном формате таблицы строк и столбцов. В отличие от формата qHyperCube, который возвращает данные в объектном формате, Table API можно просто использовать, например, для выполнения следующих действий:
- Подготовка выгрузки в Excel
- Визуализация простой табличной информации в Angular шаблоне
qlik.app.createTable Метод является точкой входа в таблицу API. Он создает tableобъект, который оборачивает qHyperCube и возвращает табличный объект типа QTable.
Свойства объекта QTable следующие:
|
имя |
Тип |
Описание |
|
rows |
Array.QRow |
Строки данных |
|
headers |
Array.QHeader |
Заголовок информации |
|
totals |
Array.QMeasureCell |
Общая информация для мероприятий |
|
rowCount |
Number |
Общее количество строк для qHyperCube, включая строки, не выбранные с сервера |
|
colCount |
Number |
Общее количество столбцов для qHyperCube |
Первоначально он пуст, но в конечном итоге будет содержать данные. Объект таблицы будет обновляться при изменении состояния выбора, а уведомление будет отправлено, когда данные будут доступны, и будет запускаться при каждом обновлении. Чтобы получить уведомление, привяжите слушателя к экземпляру OnData QTable
Ниже приведен пример создания таблицы и ее рендеринга с использованием простого шаблона AngularJS, поскольку он оптимален для рендеринга динамических таблиц на экране:
Шаг 1. Создайте таблицу и добавьте в нее слушателя:
var table = app.createTable(["FirstName", "LastName"], ["Count(Case Id)"],{rows:200});
var listener = function() {
var rowCount = table.rowCount;
var colCount = table.colCount;
table.OnData.unbind( listener ); //unregister the listener when no longer notification is needed.
};
table.OnData.bind( listener ); //bind the listener
Шаг 2: Добавьте следующий фрагмент кода в скрипт основного контроллера:
if ( !this.$scope.table ) {
var app = qlik.currApp();
this.$scope.table = app.createTable(["FirstName", "LastName"], ["Count(Case Id)"],{rows:200});
}
Шаг 3. Определите шаблон AngularJS, используя следующий HTML-код:
<tr ng-repeat="row in table.rows">//Render rows
<td ng-repeat="cell in row.cells"> {{cell.qText}} </td>; //Render cells within row
</tr>