2017-08-14 2 views
0

親ノードを指す属性を含むDBテーブルがあり、ナビゲーションプロパティ "_toSubTasks"と "_toParent"もあります。このテーブルには、ODataサービスがあります。SAPUI5:階層を含むテーブルのツリーテーブル

例:タスク{TASK_ID、parent_task_id、....}

各タスクのために、私たちはその直接のサブ・タスクを得ることができますが、各サブタスクは、独自のサブタスクを持つことができます。どのようにすべての階層レベル(直接のサブタスクとサブタスクのサブタスク)ですべてのサブタスクを取得し、UI5のツリーテーブルで表示するのですか?

+0

最初のリストに基づいて新しい階層モデルを構築する必要があります。 https://stackoverflow.com/questions/18017869/build-tree-array-from-flat-array-in-javascript –

+0

あなたの答えをありがとう。はい、階層構造を含むJsonモデルを作成し、ツリーテーブルのモデルを設定することができます。それは間違いなく機能します。しかし、私は、最も簡単な方法は、階層構造を構築するためにナビゲーションプロパティ "_toSubTasks"を使用していると信じています。しかし、私はどのようにわからない... – Lucifa

答えて

0

ツリーテーブルは、メインエンティティのすべてのプロパティを評価します。 オブジェクトまたは配列であるプロパティが見つかった場合は、それをサブノードとみなします。

odata-model-entityには、遅延オブジェクトとしてナビゲーションプロパティが存在するため、通常、ツリーはナビゲーションプロパティをサブノードとして識別する必要があります。 (それはオブジェクトなので)

だから、私は単純にメインエンティティセットをツリー項目にバインドすれば十分であるはずです。

追加テストとして、そのようなナビゲーションプロパティでモデルのreadメソッドを呼び出すことができます。遅延を実行して関連項目をロードする必要があります。

ただし、重要なコメントが1つあります。私の推論はsap.m.tree要素に基づいています。

関連する問題