Я была такая же проблема и сделал обходной путь, который, конечно, не очень хорошо, но это работает.
Настройте 2 массива, в которых вы собираете идентификаторы в зависимости от данных. Результат Sex.
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
});
Спасибо Я видел демо, однако код выглядеть как 'boxesColor: [ {ID: 2, цвет: "синий"}, \t \t \t {ID: 3, цвет: "lightteal"} ]' В примере идентификатор harcoded и я не могу понять способ заменить ie id: 2 условием, например, (упрощенно) 'если секс = мужчина, тогда цвет синий, если секс = самка, тогда цвет розовый, другой цвет - grey' ' –
Я пробовал что-то вроде этого: setBoxColor: function (sender, args) { if (args .Sex == «Мужчина») args.boxesColor.push ({id: args.id, color: "blue"}); }, 'без успеха, я не могу понять, как установить цвет окна на основе фильтра –