Пространство имен :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>