使用GWT API向Google Visualization工具提示添加自定义文本

4
以下问题几乎完全描述了我要做的事情... 向Google可视化工具提示添加自定义文本 ...基本上是为了向google-viz工具提示添加额外信息。 接受的答案看起来不错,但我正在使用GWT API。从最新版本(1.1)的外观来看,数据表不支持此功能...

http://gwt-google-apis.googlecode.com/svn/javadoc/visualization/1.1/com/google/gwt/visualization/client/DataTable.html

...

有没有人知道针对这个问题的修复或解决方法?

谢谢。

3个回答

10

基于Ümit的回答,我使用JSNI很容易地完成了这个任务,我想为其他遇到同样问题的人贴出一些示例代码。

为了使事情变得非常简单,我没有扩展DataTable类,而是将以下内容添加到生成图表的客户端类中:

private native void addTooltipColumn(DataTable data) /*-{
    data.addColumn({type:'string', role:'tooltip'});
}-*/;
请注意这是JNSI代码,因此对于未了解该代码的人来说,注释和括号可能会显得奇怪。
然后,我可以在数据表上调用它:
    addTooltipColumn(dataTable);

提示框可以与每一行的数据一起添加,如下所示:

    data.setValue(row, col, data);
    data.setValue(row, col, "Tool Tip Text");

1
感谢您跟进解决方案! - Riley Lark
@Jonathan - 我尝试了完全相同的方法,但对我没有起作用。这段代码适用于gwt-visualization-1.0.2版本吗?请指导我一下。 - Jagadeesh

8
新版谷歌图表工具的功能还未被整合到GWT可视化API和包装器中。
我不确定GWT API是否会得到更新。但是,您总是可以自己实现这些功能。
根据您如何创建数据表(通过编程或后端),您可以:
  • 通过编程: 您可以扩展 DataTable AbstractDataTable类,并通过 JSNI 实现缺失的功能和函数(例如addColumn(type, role)等)。查看 AbstractDataTable的源代码。
  • 从后端获取JSON: 您可以在后端创建适当的DataTable JSON结构,然后只需调用 DataTable.create()并将其传递给draw()方法,而无需进行任何代码修改。(我没有测试过,但应该可以正常工作,因为DataTable只是一个JavaScriptObject)

顺便提一下:GWT可视化API的最新版本实际上是(1.1.2


非常好,谢谢Ümit。在您的指导下,我能够添加几行JSNI代码来轻松完成此操作。我将在下面回答并说明我所做的事情。 - Jonathan
@Ümit - 对我来说不起作用。http://stackoverflow.com/questions/26529573/issue-in-customizing-default-tooltip-text-of-piechart-using-gwt-visualization-1 - Jagadeesh

6
您可以使用工具提示添加更多信息。
double value = 50.0;
data.setCell(row, col, value, Double.toString(value) + "\nExtra information\n On several rows",null);

使用data.setValue(...)的替代方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接