2015-06-28 2 views
0

Я пытаюсь GetOrgChart и задаю вопрос, можно изменить цвет ящиков, однако я не нашел способ изменить цвет ящиков на основе фильтра (то есть, если вы мальчики коробки голубые и розовые для девочек). Я знаю о событии renderBoxContentEvent, но я не смог найти способ его использования, чтобы изменить цвет окна.JQuery GetOrgChart - Boxescolor и URL

Спасибо заранее!

ответ

0

Заканчивать следующей демо: http://www.getorgchart.com/Demos/Box-Color

Это показывает, что именно вы хотите достичь

+0

Спасибо Я видел демо, однако код выглядеть как 'boxesColor: [ {ID: 2, цвет: "синий"}, \t \t \t {ID: 3, цвет: "lightteal"} ]' В примере идентификатор harcoded и я не могу понять способ заменить ie id: 2 условием, например, (упрощенно) 'если секс = мужчина, тогда цвет синий, если секс = самка, тогда цвет розовый, другой цвет - grey' ' –

+0

Я пробовал что-то вроде этого: setBoxColor: function (sender, args) { if (args .Sex == «Мужчина») args.boxesColor.push ({id: args.id, color: "blue"}); }, 'без успеха, я не могу понять, как установить цвет окна на основе фильтра –

0

Я была такая же проблема и сделал обходной путь, который, конечно, не очень хорошо, но это работает.

Настройте 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 
     }); 
0

В нижней части демки (http://www.getorgchart.com/Demos/Box-Color), есть JQuery код, чтобы установить цвет окна определенного индекса источника данных:

$("#people").getOrgChart("setBoxColor", 6, "green");