将自定义文本添加到Google Visualization工具提示(使用GWT API)

Jon*_*han 3 java gwt tooltip google-visualization

以下问题几乎完全描述了我想要的...

将自定义文本添加到Google Visualization工具提示

...基本上是为google-viz工具提示添加额外信息.接受的答案看起来很不错,但我正在使用GWT API.从最新版本(1.1)看起来数据表不支持这个...

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

...

是否有人知道任何修复或解决方法?

谢谢.

Jon*_*han 10

根据Ümit的回答,我能够使用JSNI轻松完成这项工作,我想我会为遇到此问题的其他人发布一些示例代码.

为了保持超简单而不是扩展DataTable类,我将以下内容添加到生成图表的客户端类中:

private native void addTooltipColumn(DataTable data) /*-{
    data.addColumn({type:'string', role:'tooltip'});
}-*/;
Run Code Online (Sandbox Code Playgroud)

注意这是JNSI,因此注释/括号对于未启动的看似奇怪.

然后我可以在数据表上调用它:

    addTooltipColumn(dataTable);
Run Code Online (Sandbox Code Playgroud)

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

    data.setValue(row, col, data);
    data.setValue(row, col, "Tool Tip Text");
Run Code Online (Sandbox Code Playgroud)


Ümi*_*mit 7

那么谷歌图表工具中的新功能并没有分别进入GWT可视化API和包装器.
我实际上不确定GWT API是否会更新.但是,您始终可以自己实现这些功能.

根据您创建DataTable的方式(以编程方式或通过后端),您可以:

  • 以编程方式:您可以扩展DataTableAbstractDataTable类,并通过JSNI实现缺少的功能和特性(例如addColumn(type, role),检查AbstractDataTable的源代码).
  • 来自后端的JSON:您可以在后端创建适当的DataTableJSON结构,然后只需调用DataTable.create()并将其传递给draw()方法而无需任何代码修改.(我没有测试过,但它应该可以工作,因为DataTable只是一个JavaScriptObject)

BTW:最新版本的GWT Visualization API实际上是(1.1.2)


Gar*_*ryF 6

您还可以使用工具提示添加更多信息

double value = 50.0;
data.setCell(row, col, value, Double.toString(value) + "\nExtra information\n On several rows",null);
Run Code Online (Sandbox Code Playgroud)

而不是data.setValue(...).