我正在尝试 GetOrgChart 并且有一个问题,可以更改框颜色,但是我没有找到基于过滤器更改框颜色的方法(即,如果您是男孩,则框为蓝色和女孩的粉红色)。我知道事件 renderBoxContentEvent 但我无法找到一种方法来使用它来修改框的颜色
先感谢您 !
我正在尝试 GetOrgChart 并且有一个问题,可以更改框颜色,但是我没有找到基于过滤器更改框颜色的方法(即,如果您是男孩,则框为蓝色和女孩的粉红色)。我知道事件 renderBoxContentEvent 但我无法找到一种方法来使用它来修改框的颜色
先感谢您 !
查看以下演示:http ://www.getorgchart.com/Demos/Box-Color
它准确地展示了您想要实现的目标
在演示的底部(http://www.getorgchart.com/Demos/Box-Color),有 JQuery 代码来设置数据源中特定索引的框颜色:
$("#people").getOrgChart("setBoxColor", 6, "green");
我遇到了同样的问题并提出了一个解决方法,这肯定不是很好,但它正在工作。
根据 data.Sex 的结果设置 2 个数组,在其中收集 id。
var warr = new Array(); // array for the women
var marr = new Array(); // array for the men
$('#people').getOrgChart({
renderBoxContentEvent: function( sender, args ) {
if (args.data.Sex == "Female") {warr.push(args.id);}
if (args.data.Sex == "Male") {marr.push(args.id);}
},
primaryColumns: ["Name"],
editable: true,
dataSource: [
{ id: 1, parentId: null, Name: "Amber McKenzie", Sex : "Female"},
{ id: 2, parentId: 1, Name: "Ava Field", Sex : "Female"},
{ id: 3, parentId: 1, Name: "Ben Johnson", Sex : "Male"}]
});
// now loop through the arrays to color the boxes
for (var i = 0; i < warr.length; i++) {$("#people").getOrgChart("setBoxColor",warr[i],"lightgreen");} // girls green
for (var i = 0; i < marr.length; i++) {$("#people").getOrgChart("setBoxColor",marr[i],"lightblue");} // men blue
});