在 GetOrgChart 上动态添加新节点

Posted

技术标签:

【中文标题】在 GetOrgChart 上动态添加新节点【英文标题】:Add new nodes dynamycally on GetOrgChart 【发布时间】:2017-04-20 22:50:52 【问题描述】:

有没有使用 ajax 添加新节点的方法?我希望当我单击一个节点时,发送一个 ajax 请求以获取数据库中的信息并为该节点创建子节点。 我尝试使用 insertNode 和 inserNodeEvent,但即使数据库发送很多,也只会创建一个节点。

谢谢

【问题讨论】:

【参考方案1】:

感谢您的回答,我还有一个问题。无法向源添加新数据,ajax请求只发送名称

var source = [  id: 1, parentId: null, Name: "Amber McKenzie 1", 
 id: 2, parentId: 1, Name: "Ava Field 2",
 id: 3, parentId: 1, Name: "New node Id 3",
 id: 4, parentId: 1, Name: "Evie Johnson 4",
 id: 5, parentId: 2, Name: "Amber McKenzie 5",
 id: 6, parentId: 3, Name: "Ava Field 6", 
 id: 7, parentId: 4, Name: "New node Id 7", 
 id: 8, parentId: 5, Name: "Evie Johnson 8"]; 

function clickHandler(sender, args) 
var id = args.node.id;
$.ajax(
  type: "POST",
  url: "get-data.php",
  data: source : source, id : id,
  success: function(data)
  source.push(data);
   orgchart.config.dataSource = source;

  orgchart.load(); 
  
);
;

var orgchart = new getOrgChart(document.getElementById("people"),          
  enableSearch: false,
  clickNodeEvent: clickHandler, 
  expandToLevel: 7,
  linkType: "B",
  dataSource: source
);

【讨论】:

【参考方案2】:

请运行下面的代码 sn-p。下个版本将支持批量 insertNode 方法

var source = [
   id: 1, parentId: null, Name: "Amber McKenzie",
   id: 2, parentId: 1, Name: "Ava Field",
   id: 3, parentId: 1, Name: "Evie Johnson"];

var orgchart = new getOrgChart(document.getElementById("people"),			
  enableSearch: false,
  dataSource: source
);


document.getElementById("insertNodes").addEventListener("click", function()  
  source = [
   id: 1, parentId: null, Name: "Amber McKenzie",
   id: 2, parentId: 1, Name: "Ava Field",
   id: 4, parentId: 1, Name: "New node Id 4",
   id: 3, parentId: 1, Name: "Evie Johnson",
   id: 5, parentId: 3, Name: "New node Id 5"];
  
  orgchart.config.dataSource = source;
  
  orgchart.load();
);
<link rel="stylesheet" type="text/css" href="http://www.getorgchart.com/GetOrgChart/getorgchart/getorgchart.css">
<script type="text/javascript" src="http://www.getorgchart.com/GetOrgChart/getorgchart/getorgchart.js"></script>
<input id="insertNodes" type="button" value="insert nodes" />

<div id="people"></div>

【讨论】:

以上是关于在 GetOrgChart 上动态添加新节点的主要内容,如果未能解决你的问题,请参考以下文章

GetOrgChart:尚未定义父节点的节点

保持当前节点打开并折叠 GetOrgChart 中的其他节点

使用查找表中的 withColumn 动态添加新列

Hadoop集群动态扩容缩容

java 动态的给树添加新节点 望高手指点啊

Django 中的动态模型字段