Работа с данными сетки дерева
Использование сервиса загрузки данных в дерево
В сетке дерева связи между родительским и дочерним узлами данных увеличивают сложность заданий на запросы и фильтрацию. Для упрощения большинство функциональных возможностей кодируется в одном сервисе данных JavaScript, пример которого предоставлен в разделе Файл примеров расширенных сеток. Предоставленный код JavaScript можно добавить в сервис полностью или частично, чтобы поддерживать конструкторские элементы сетки дерева в собственных мэшапах.
При необходимости можно также преобразовать реализации API, описанные в примере сервиса данных, в сервис на базе Java. Убедитесь, что имена входных параметров остаются теми же и возвращенная таблица данных содержит правильный список строк для каждого API-интерфейса, необходимого сервису.
Привязка этого сервиса данных к сетке необходима, чтобы использовать все преимущества функциональности сетки дерева, например:
Загрузка начальных дочерних данных с необязательными параметрами запроса и фильтра данных.
Автоматическое развертывание строк согласно указанному пути развертывания (leafID).
Поиск дочерних данных, которые соответствуют указанным параметрам запроса.
Использование виджета фильтра данных для фильтрации данных дочерних объектов, которые соответствуют указанным параметрам запроса фильтра.
Чтобы использовать предоставленный пример сервиса GetPartsData, загружающего данные из дерева, его нужно немного настроить (для указания расположения данных), добавить к вещи в Composer и привязать к сетке. Выполните следующие действия.
1. Чтобы сохранить примеры и импортировать их в ThingWorx Composer, используйте информацию в разделе Файл примеров расширенных сеток.
2. Примером сервиса данных для функций сетки дерева является GetPartsData. Чтобы найти его, выполните следующие действия.
a. В Composer перейдите в раздел Моделирование/Вещи и откройте вещь GridAdvancedExampleServices.
b. Щелкните Сервисы на левой панели, чтобы отобразить доступные примеры сервисов.
c. Выберите сервис GetPartsData и щелкните Править, чтобы открыть окно сценария.
d. Щелкните Полный экран для удобства просмотра.
3. В разделе сценария Your Data Store настройте функцию getEntriesFromDataStore так, чтобы она указывала на расположение вашего дочернего источника данных. См. рисунок ниже.
Если источником является таблица данных, обновите только имя таблицы в переменной YOUR_DATATABLE_THING .
Если источником является поток данных, структура данных или платформа стороннего производителя, обновите функцию getEntriesFromDataStore соответствующим образом.
4. Убедитесь, что в разделе строки сценария для любой строки верхнего уровня, у которой нет родительской строки, переменной parentId задано значение "/". Это значение указывает на корневой уровень и необходимо сервису GetPartsData для правильной сортировки и поиска данных.
Если предпочтительнее использовать другое значение для указания корневого уровня, измените параметр ROOT_ID_VALUE в верхней части сценария. Можно использовать любую непустую строку, например /Root, // или один пробел (" ").
5. Сохраните изменения. Теперь можно использовать сервис как есть или скопировать и вставить сценарий в сервис для вашей вещи в компоновщике
6. В Mashup Builder, где создается сетка дерева, добавьте сервис данных как другую сущность на правой панели.
7. Из объекта сервиса данных на правой панели в разделе Возвращаемые данные перетащите Все данные в сетку и привяжите их к свойству Data или ChildData. Данные и дочерние данные можно соединить с теми же или разными источниками.
8. Привяжите свойства Filter и Filter Query к сервису данных так, чтобы можно было комбинировать все параметры сортировки, поиска и фильтрации и выводить подходящие результаты.
9. Сохраните и просмотрите завершенный мэшап.
Было ли это полезно?