0

我正在尝试 GetOrgChart 并且有一个问题,可以更改框颜色,但是我没有找到基于过滤器更改框颜色的方法(即,如果您是男孩,则框为蓝色和女孩的粉红色)。我知道事件 renderBoxContentEvent 但我无法找到一种方法来使用它来修改框的颜色

先感谢您 !

4

3 回答 3

0

查看以下演示:http ://www.getorgchart.com/Demos/Box-Color

它准确地展示了您想要实现的目标

于 2015-06-29T19:15:17.797 回答
0

在演示的底部(http://www.getorgchart.com/Demos/Box-Color),有 JQuery 代码来设置数据源中特定索引的框颜色:

$("#people").getOrgChart("setBoxColor", 6, "green");
于 2016-03-21T04:15:17.457 回答
0

我遇到了同样的问题并提出了一个解决方法,这肯定不是很好,但它正在工作。

根据 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
        });
于 2015-12-10T21:05:46.840 回答