1

次のようなデータ構造があります。

ノードの親名
1 -1 レベル 1
2 1 レベル 2 - 1
3 1 レベル 2 - 2
4 2 レベル 3 - 1
5 2 レベル 3 - 2
6 3 レベル 3 - 3
....

これにより、データのレベルが無制限になる可能性があります。そのようなツリービューを構築するためにインフラジスティックス igtre を使用したいと考えています。いくつかの基本的な例を確認しましたが、あまり役に立ちませんでした。例: http://help.infragistics.com/jQuery/2013.1/ui.igtree 事前定義された階層構造に限定されます。ツリーを構築したいのですが、さらに任意のノードを任意のレベルに追加し、任意のノードを移動できるようにしたいと考えています。私は asp.net JQUERY AJAX を使用しています。インフラジスティックス コントロールが優先されます。mvcモデルを行ったことはありません。これについて経験のある人は、サンプルコードを送ってもらえますか? どうもありがとう。

4

1 に答える 1

3

igTree は動的コントロールであり、事前定義された階層に限定されません - 確かに、モデルはいくつかの基本スキーマに準拠する必要があります - コントロールが独自にバインディングを理解する方法はありませんが、単一のバインディングを共有することはできますツリー全体に結合します。基本的には、適切な場所を確認する必要があります。たとえば、このAdd Remove Node API サンプルを取得し、同様のバインディングを使用してこのサンプルを作成しました。

http://jsfiddle.net/damyanpetev/x4eAB/

これが示すことを意味するもの:

  • 最初の階層はランダムです (一部のアイテムには追加のレベルがあります)。そのため、開始時にすべての固定レベルに制限されることはありません。
  • ノードの追加は任意のレベルで行うことができ、新しいノード自体も複数のレベルを持つことができるため、必要な無制限の階層が得られます。
  • 単一のバインディングを定義すると、それは後続のレバーに使用されるため、すべての項目に「テキスト」プロパティがあり、内部にテキストとノードを持つより多くの項目を持つ「ノード」があります。

    $("#tree").igTree({
        bindings: {
           textKey: 'Text',
           valueKey: 'Text',
           childDataProperty: 'Nodes'
        }
    });
    
  • 共有バインディングにより、どのノードも他のノードの親になることができます。つまり、単一のプロパティでドラッグ アンド ドロップを有効にして、ノードを自由に移動できます。

無制限の階層を持ちたいので、モデル アイテムは類似しており、このケースに簡単に一致します。そうでない場合は、LINQ を使用してそれらを修正できます。あなたが与えたそのデータ構造はあなたのモデルをうまく説明していないので、これが役に立たない場合はもう少し情報が必要です.

于 2013-07-16T08:42:15.780 に答える