2017-12-04 7 views
0

ドラッグ&ドロップしてanychartガントチャートの期間の変更ガントチャートanychartにドラッグ&ドロップまたは期間のcahngeを使用しているとき、私は、後に聞くために何を把握することはできません

私は、JSON呼び出しからデータを取得し、次のコードを持っている

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

私はドキュメント内でhttps://docs.anychart.com/Gantt_Chart/Live_Edit_UI_and_APIにロックしていますが、何を聴くべきかは言いません。 私はしようとしました

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

警告は表示されません。 編集: アラートが表示され、コードに入力ミスがあったようです。

ドラッグした時間と継続時間の変更はうまくいきますが、DBに変更を保存する必要がありますが、書いたとおり、何がトリックであるかわかりません。

EDIT2:

私はドキュメントに記載の情報を表示するには、アラートを変更しているので、私は警告がconsolelogが、これ

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

のようなものを与える

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

を持っています番組表

Object { type: "treeitemupdate", target: {…}, c: {…}, f: false, l: false, yA: true, item: {…}, path: […], field: "periods", value: 1512405943770 } 
アイテムを開く

は私にこれを与えるが、私はこのデータ

で作業する方法を見ることができない私のチャートが私のJSONこの

[{"id":"0", 
"collapsed":false, 
"rowHeight":15, 
"userLevel":"0" 
},{ 
"id":"4", 
"collapsed":false, 
"rowHeight":15, 
"name":"(1 - jnb) Bjerre, Janine Nedergaard ", 
"userLevel":"3" 
},{ 
"id":"270", 
"parent":"4", 
"rowHeight":15, 
"periods":[{ 
    "id":"270_2", 
    "stoke":"none", 
    "start":"1512370800000", 
    "end":"1512464400000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"270" 
    },{ 
    "id":"474_3", 
    "stoke":"none", 
    "start":"1512543600000", 
    "end":"1512547200000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"474" 
    },{ 
    "id":"140_6", 
    "stoke":"none", 
    "start":"1512548100000", 
    "end":"1512743400000", 
    "fill":"#DCE4EF", 
    "personID":4,"id_task":"140"}] 
},{ 
"id":"488", 
"parent":"4", 
"rowHeight":15, 
"periods":[{" 
    id":"488_4", 
    "stoke":"none", 
    "start":"1512543600000", 
    "end":"1512547200000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"488" 
    },{ 
    "id":"485_7", 
    "stoke":"none", 
    "start":"1512554400000", 
    "end":"1512561600000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"485" 
    },{ 
    "id":"247_8", 
    "stoke":"none", 
    "start":"1512564960000", 
    "end":"1512568560000", 
    "fill":"#FFFFFF", 
    "personID":4, 
    "id_task":"247"}] 
},{ 
"id":"372", 
"parent":"4", 
"rowHeight":15, 
"periods":[{ 
    "id":"372_5", 
    "stoke":"none", 
    "start":"1512547200000", 
    "end":"1512556200000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"372" 
    },{ 
    "id":"222_9", 
    "stoke":"none", 
    "start":"1512565200000", 
    "end":"1512568800000", 
    "fill":"#DCE4EF", 
    "personID":4, 
    "id_task":"222"}] 
},{ 
"id":"313", 
"parent":"4", 
"rowHeight":15, 
"periods":[{ 
    "id":"313_10", 
    "stoke":"none", 
    "start":"1512566400000", 
    "end":"1512570000000", 
    "fill":"#FFFFFF", 
    "personID":4, 
    "id_task":"313"}] 
},{ 
"id":"26", 
"collapsed":false, 
"rowHeight":15, 
"name":"(aal) Aalb\u00e6k, Arne ", 
"userLevel":"3" 
},{ 
"id":"423", 
"parent":"26", 
"rowHeight":15, 
"periods":[{ 
    "id":"423_12", 
    "stoke":"none", 
    "start":"1512370800000", 
    "end":"1512401400000", 
    "fill":"#DCE4EF", 
    "personID":26, 
    "id_task":"423"}] 
},{ 
"id":"6", 
"collapsed":false, 
"rowHeight":15, 
"name":"(tc) Clausen, Tom ", 
"userLevel":"1" 
},{ 
"id":"436", 
"parent":"6", 
"rowHeight":15, 
"periods":[{ 
    "id":"436_14", 
    "stoke":"none", 
    "start":"1512367200000", 
    "end":"1512738000000", 
    "fill":"#DCE4EF", 
    "personID":6, 
    "id_task":"436"}], 
},{ 
"id":"508", 
"parent":"6", 
"rowHeight":15, 
"periods":[{ 
    "id":"508_15", 
    "stoke":"none", 
    "start":"1512370800000", 
    "end":"1512471600000", 
    "fill":"#DCE4EF", 
    "personID":6, 
    "id_task":"508"}] 
}] 

などである。この Gantt Chart

のように見えます

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を特定する必要があります。

だから私は、私は私が働いてオブジェクトを識別し、あなたはほとんどなかった、そのオブジェクト内のデータ

答えて

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); 
     }); 

今、あなたは、あなたが変更している期間についての情報を取得します。

+0

ありがとうございましたこれは私を大いに助けてくれましたが、別の質問にさせていただきました。「期間の変更」は終了時間にしかできないか、グラフを編集可能にすることはできますが、 "または、「変更期間」または「DragDrop」イベントであるかどうかを、「treeItemUpdate」でどのように確認できますか? –

+0

残念ながら、特定の種類のイベントを許可しない方法はありません。しかし、いくつかのコード・トリックでは、「継続時間の変更」または「DragDrop」イベントを識別する機会があります。ここにあなたのための例を用意しました - https://jsfiddle.net/1hbfbszc/ ブラウザを起動し、期間を移動して期間を変更しようとします。あなたがコメントで見つけるすべての必要な情報。 –

+0

前の例で追加コードを簡略化しました。新しい例はここにあります - https://jsfiddle.net/fp3j016g/ –

関連する問題