在Google Visualization中的DataTable中插入JSON

时间:2010-10-07 12:22:07

标签: gwt google-visualization

我读到可以将JSON插入到数据表中。但是,它完成了 在HTML页面上的JS中(如果内存服务正确)。我正在使用GWT- 给定here的可视化驱动程序,并且添加行的唯一方法不是 设计时考虑到了JSON。有没有可行的解决方案?我是 试图制作堆积柱形图。 感谢。

2 个答案:

答案 0 :(得分:1)

我也在使用geomap和数据表结合起来。在我的解决方法中,我在原型javascript框架中使用了evalJSON()来使json字符串成为一个对象。

var country_obj = country_data.evalJSON(true);

然后我遍历对象的长度:

var data = new google.visualization.DataTable();
data.addRows(country_obj.country.length);
data.addColumn('string', 'Country');
data.addColumn('number', map_context); 

var j = country_obj.country.length;
for ( i = 0; i < j; i++ )
{
    var num = new Number(country_obj.country[i].geo_mstat_reads);

    data.setValue(i, 0, country_obj.country[i].country_name);
    data.setValue(i, 1, num.valueOf());
}

// and then the table.draw() with the data

这对我来说效果非常好,因为它会缩放到您要显示的数据集的确切大小。

此外,您可以对对象进行全面的操作,使您的生活和编码更易于阅读和编写。

我希望这可以帮助您解决问题。

答案 1 :(得分:1)

相同的pb,并且不知道它是否可行:

public native DataTable createDataTable(String obj) /*-{
    console.log("create Datatable :" + obj);
    var dt = new $wnd.google.visualization.DataTable(obj);
    console.log("Datatable created");
    return dt;
}-*/;

这会创建一个空的dataTable,而JSON输入格式正确...