任何图表甘特图中的拖放和持续时间更改

时间:2017-12-04 07:52:10

标签: javascript anychart

在任何图表甘特图中使用拖放或持续时间变换时,我无法弄清楚要听什么?

我从json调用中获取数据并具有以下代码

position = ctrl.Antecedent(np.arange(0, 400, 1), 'position')
vitesse = ctrl.Antecedent(np.arange(-200, 200, 1), 'vitesse')

我在文档中锁定了enter image description here,但它并没有说出要听的内容。 我试过了

chart = anychart.ganttResource();
chart.data(anychart.data.tree(data, 'asTable'));
var dataGrid = chart.dataGrid();
chart.editing(true);

但是警报没有显示。 编辑: 我确实得到警报,似乎我的代码中有一个拼写错误。

拖放和持续时间的变化工作正常,但我需要将更改存储在数据库中,但正如我所写的那样,我无法看到它的重要性。

EDIT2:

我已更改警报以显示文档中提到的信息,因此我

var tree = anychart.data.tree(data, 'asTable');
tree.listen("treeItemUpdate", function(e) {
              alert("test");  
            });

警报提供类似这样的内容

tree.listen("treeItemUpdate", function(e) {
                console.log(e);
              alert("test " + e.type + " " + e.item + " " + e.path + " " + e.field + " " + e.value + " " );  
            });

虽然控制台日志显示

test treeitemupdate [object Object] periods,2,start periods 1512574122684 
test treeitemupdate [object Object] periods,2,end periods 1512583122684

打开该项目给了我这个,但我看不到如何处理这些数据

Object { type: "treeitemupdate", target: {…}, c: {…}, f: false, l: false, yA: true, item: {…}, path: […], field: "periods", value: 1512405943770 }

我的图表看起来像这样 https://docs.anychart.com/Gantt_Chart/Live_Edit_UI_and_API

我的json是这样的

item: {…}
P: Object { b: {…}, P: null, f: […], … } 
b: Object { yb: false, yj: undefined, ai: {…}, … }
c: Object { nc: true, depth: 1, index: 2, … }
f: Array []
g: Object { id: "270", rowHeight: 15, periods: […] }
h: Object {  }
__proto__: Object { get: g.get(), set: g.set(), Ve: g.Ve(), … }

我需要确定我期间的id_task。

所以我重新解释了我的问题并请求指导我如何使用我在listen()中获得的数据,尤其是我如何识别我正在处理的对象并获取该对象中的数据

1 个答案:

答案 0 :(得分:0)

你快到了!使用甘特图和JSON数据尝试以下监听器:

            tree.listen("treeItemUpdate", function(e) {
            var periodInfo = e.item.get('periods')[e.path[1]];
            console.log('treeItemUpdate - ' + 'row ID: ' + e.item.get('id') + ', id_task: ' + periodInfo.id_task +
            ', personID: ' + periodInfo.personID + ', ' + e.path[2] + ': ' + e.value);

//next line will show you the unformatted period info which is modified 
           // console.log(periodInfo);
        });

现在您将获得有关您正在修改的时间段的信息。