在任何图表甘特图中使用拖放或持续时间变换时,我无法弄清楚要听什么?
我从json调用中获取数据并具有以下代码
position = ctrl.Antecedent(np.arange(0, 400, 1), 'position')
vitesse = ctrl.Antecedent(np.arange(-200, 200, 1), 'vitesse')
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()中获得的数据,尤其是我如何识别我正在处理的对象并获取该对象中的数据
答案 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);
});
现在您将获得有关您正在修改的时间段的信息。