关于层次结构数据的infragistics igtree

时间:2013-07-11 13:43:53

标签: treeview hierarchy infragistics ignite-ui 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 igtre来构建这样的树视图。 我检查了一些基本的例子但不是很有帮助。例如: http://help.infragistics.com/jQuery/2013.1/ui.igtree 它仅限于预定义的层次结构。 我想构建一个树,而且我希望能够在任何级别添加任何节点,并移动任何节点。 我正在使用asp.net JQUERY AJAX,首选infragistics控件。从来没有做过mvc模型。 任何有经验的人都可以给我发一些示例代码吗?非常感谢。

1 个答案:

答案 0 :(得分: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来修复它们。您提供的数据结构并没有很好地描述您的模型,所以如果这对您没有帮助,我还需要更多信息。