2016-05-25 18 views
0

私はプロジェクトに取り組んでおり、vis.jsを使ってタイムラインにデータを表示する必要があります。しかし、データがどのようにキャプチャされているかによって、ページが読み込まれるときに、タイムラインのデータセットをいくらか動的に構築する必要があります。そのことを念頭に置いて、私はこれを行う方法を試し始めましたが、私自身が知識が不足していることが主な原因となっている障害物にぶつかりました。vis.jsデータセットを動的に構築する

私が使っているテストコードは次のとおりです(私はこれが最高のコードではないことを認識していますが、現時点では機能に焦点を当てていますが、私はすべての耳です!)私がしたいのは、変数データセットのコンテンツを使用してデータセットを構築することです。しかし、単にその変数を新しいvis.DataSetに渡そうとすると、可視化が構築されません。私は誰もが提供できる指導を感謝します。私はvis.jsがそれを受け入れるために何らかの方法でその変数を変換する必要があるのか​​どうか疑問に思っていましたが、それが本当にそうであるかどうか、もしそうならば、どのように判断できるのでしょうか。

var ERP = "yes"; 
var ERPDate = "2018"; 
var CRM = "no"; 
var CRMDate = "2019"; 
var IDSeq = 1; 
var datasetlist = ""; 
var yesCount = 0 

//count totalitems 
if (ERP == "yes") { 
    yesCount = (yesCount + 1); 
} 

if (CRM == "yes") { 
    yesCount = (yesCount + 1); 
} 

//builddataset 
if (ERP == "yes"){ 
    if (yesCount == IDSeq) { 
    datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'}"; 
} else { 
    datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'ERP\', start: \'" + ERPDate + "\'},"; 
} 
IDSeq = IDSeq +1 
} 

if (CRM == "yes"){ 
    if (yesCount == IDSeq) { 
    datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'}"; 
} else { 
    datasetlist = datasetlist + "{id: " + IDSeq + ", content: \'CRM\', start: \'" + CRMDate + "\'},"; 
} 
} 

//datasetlist = "{id: 1, content: 'ERP', start: '2018'}" 
//window.alert(datasetlist); 

     // DOM element where the Timeline will be attached 
     var container = document.getElementById('visualization'); 

     // Create a DataSet (allows two way data-binding) 
     var items = new vis.DataSet(datasetlist); 

     // Configuration for the Timeline 
     var options = { 
    height: '500px', 
     start: new Date(2015, 1, 15), 
     end: new Date(2025, 1, 15), 
     timeAxis: {scale: 'year', step: 1} 
    }; 

     // Create a Timeline 
     var timeline = new vis.Timeline(container, items, options); 

答えて

0

Visでは、データセットとして項目の配列が必要です。このようなもの、var data = new vis.DataSet([data])ここで、[data]はオブジェクトの配列です。だからあなたのオブジェクトを構築し、それらを配列に押し込み、それをデータパラメータとして渡してみてください。ドキュメントはhttp://visjs.org/docs/data/dataset.htmlにあります。

関連する問題