Mashup Builder > ウィジェット > アドバンスグリッド > ツリーグリッドデータの操作
ツリーグリッドデータの操作
ツリーロードデータサービスの使用
ツリーグリッドでは、データの親ノードと子ノードの関係によってクエリータスクやフィルタタスクが複雑化します。このプロセスを単純化するため、ほとんどの機能は JavaScript データサービスでエンコードされており、そのサンプルが アドバンスグリッドのサンプルファイルで提供されています。提供されている JavaScript コードを全体的または部分的にサービスに追加することで、各自のマッシュアップでツリーグリッド機能をサポートできます。
必要な場合、サンプルデータサービスに記載されている API 実装を Java ベースのサービスに変換することもできます。入力パラメータ名が同じままであり、返されるインフォテーブルにサービスで必要な各 API の行の正しいリストが含まれていることを確認します。
次のようなツリーグリッド機能を十分に活用するためには、このデータサービスをグリッドにバインドする必要があります。
オプションのクエリーパラメータとデータフィルタパラメータを使用して、初期の子データをロードする。
指定した展開パス (leafID) に従って行を自動的に展開する。
指定したクエリーパラメータと一致する子データをサーチする。
データフィルタウィジェットを使用して、指定したフィルタクエリーパラメータと一致する子データをフィルタする。
提供されている GetPartsData サンプルツリーロードデータサービスを使用するには、(データの場所を指すように) 若干カスタマイズし、Composer 内の Thing に追加し、グリッドにバインドしなければなりません。以下の手順に従います。
1. アドバンスグリッドのサンプルファイルセクションの情報を使用して、サンプルを保存し、ThingWorx Composer 内にインポートします。
2. ツリーグリッド機能のサンプルデータサービスは GetPartsData です。これを見つけるには、以下の手順に従います。
a. 「モデリング」/「Thing」に移動し、GridAdvancedExampleServices Thing を開きます。
b. 左側のパネルで「サービス」をクリックすると、使用可能なサンプルサービスが表示されます。
c. GetPartsData サービスを選択し、「編集」をクリックしてスクリプトウィンドウを表示します。
d. 見やすくするために「フルスクリーン」をクリックします。
3. スクリプトの Your Data Store セクションで、getEntriesFromDataStore 関数をカスタマイズして、子データソースの場所を指定します。以下の図を参照してください。
ソースがデータテーブルの場合、変数 YOUR_DATATABLE_THING でテーブル名だけを更新します。
ソースがデータストリーム、データシェイプ、またはサードパーティプラットフォームの場合、それに従って getEntriesFromDataStore 関数を更新します。
4. スクリプトの rows セクションで、親行がないトップレベルの行で parentId の値が '/' になっていることを確認します。この値はルートレベルを示し、GetPartsData サービスが適切にデータの並べ替えとサーチを実行するために必要です。
別の値を使用してルートレベルを表す場合、スクリプトの一番上にある ROOT_ID_VALUE パラメータを修正します。/Root//、単一スペース など、空でない任意の文字列を使用できます。
5. 変更内容を保存します。サービスをそのまま使用することも、スクリプトをコピーして Composer 内の独自の Thing のサービスに貼り付けることも可能になりました。
6. ツリーグリッドを作成している Mashup Builder で、このデータサービスを右側のパネルに別のエンティティとして追加します。
7. 右側のパネルのデータサービスエンティティから、「戻されたデータ」の下の「すべてのデータ」をグリッドにドラッグし、Data または ChildData プロパティにバインドします。データおよび子データを同じソースまたは別のソースに接続できます。
8. Filter および Filter Query プロパティをデータサービスにバインドすることで、すべての並べ替え、サーチ、およびフィルタパラメータを結合して適切な結果が出力されるようにします。
9. 完成したマッシュアップを保存して表示します。