Add custom text to Google Visualization tooltip (using GWT API)
以下问题几乎完全描述了我试图...
将自定义文本添加到 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
...
是否有人知道对此有任何修复或解决方法?
谢谢。
根据 ??mit 的回答,我可以使用 JSNI 轻松完成此操作,我想我会为遇到此问题的其他人发布一些示例代码。
为了让事情变得超级简单,而不是扩展 DataTable 类,我将以下内容添加到生成图表的客户端类中:
1 2 3 | private native void addTooltipColumn(DataTable data) /*-{ data.addColumn({type:'string', role:'tooltip'}); }-*/; |
注意这是 JNSI,因此注释 / 括号对未启动的人来说似乎很奇怪。
然后我可以在数据表上调用它:
1 | addTooltipColumn(dataTable); |
工具提示可以与每一行的数据一起添加,如下所示:
1 2 | data.setValue(row, col, data); data.setValue(row, col,"Tool Tip Text"); |
Google 图表工具中的新功能还没有分别进入 GWT 可视化 API 和package器。
我实际上不确定 GWT API 是否会更新。
但是,您始终可以自己实现这些功能。
根据您创建 DataTable 的方式(以编程方式或通过后端),您可以:
-
以编程方式:您可以扩展 DataTable 或 AbstractDataTable 类并通过 JSNI 实现缺少的特性和功能(即
addColumn(type, role) 等。查看 AbstractDataTable 的源代码)。 -
来自后端的 JSON:您可以在后端创建适当的
DataTable JSON 结构,然后调用 DataTable.create() 并将其传递给draw() 方法,无需任何代码修改。 (我还没有测试过,但它应该可以工作,因为 DataTable 只是一个 JavaScriptObject)
顺便说一句:GWT Visualization API 的最新版本实际上是 (1.1.2)
您还可以使用
向工具提示添加更多信息
1 2 3 4 | double value = 50.0; data.setCell(row, col, value, Double.toString(value) +"\ Extra information\ On several rows",null); |
而不是 data.setValue(...).