2013-07-11 21 views
1

我有一個數據結構是這樣的:Infragistics的igtree層次上的數據

 
Node Parent  Name 
1 -1   Level1 
2  1   Level2 - 1 
3  1   Level2 - 2 
4  2   Level3 - 1 
5  2   Level3 - 2 
6  3   Level3 - 3 
.... 

這可能會導致數據的無限的水平。我想用infragistics來構建一個像這樣的樹視圖。 我查了一些基本的例子,但不是很有幫助。例如: http://help.infragistics.com/jQuery/2013.1/ui.igtree 它僅限於預定義的層次結構。 我想構建一棵樹,並且我希望能夠在任何級別添加任何節點,並移動任何節點。 我正在使用asp.net JQUERY AJAX,首選infragistics控件。從來沒有做過mvc模型。 任何人都可以在這個經驗請給我一些示例代碼?非常感謝。

回答

3

igTree是一個動態控件,它不限於預定義的層次結構 - 已授予,您的模型必須符合某個基本模式 - 控制器無法自行找出綁定,但是您可以在整個樹中共享一個綁定。基本上,你要看看在正確的地方 - 比如我已經採取了這一Add Remove Node API sample,並用相似的結合創造了這個示例:

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

這是什麼意思證明:

  • 初始層次結構是隨機的(一些項目有額外的水平) - 所以你不限於一開始就固定的水平。
  • 添加額外的節點可以在任何級別完成,新節點本身也可以有多個級別,所以這給你無限的 您需要的層次結構。
  • 當您定義單個綁定時,它將用於後續槓桿,因此所有項目都具有「文本」屬性並具有「節點」 ,其中包含更多包含文本和節點的項目等等。

    $("#tree").igTree({ 
        bindings: { 
         textKey: 'Text', 
         valueKey: 'Text', 
         childDataProperty: 'Nodes' 
        } 
    }); 
    
  • 由於共享結合任何節點可以是用於任何其它母體,這意味着 可以啓用Drag and Drop與單個屬性和 移動節點周圍,都可以。

我假設,因爲你想擁有無限的層次結構模型的項目相似,容易搭配這種情況下,如果不是你可以使用一些LINQ來解決這些問題了。您提供的數據結構不能很好地描述您的模型,因此如果這對您沒有幫助,我需要更多信息。