使用gwt visualization 1.1.2 API自定义PieChart的默认工具提示文本时出现问题
我在自定义PieChart的默认工具提示文本时遇到困难。下面是API的详细信息:gwt visualization 1.1.2、Gwt2.0和Gxt 2.1.1。跟随,但没有运气 代码: JSNI: 数据表:使用gwt visualization 1.1.2 API自定义PieChart的默认工具提示文本时出现问题,gwt,tooltip,gxt,gwt-visualization,Gwt,Tooltip,Gxt,Gwt Visualization,我在自定义PieChart的默认工具提示文本时遇到困难。下面是API的详细信息:gwt visualization 1.1.2、Gwt2.0和Gxt 2.1.1。跟随,但没有运气 代码: JSNI: 数据表: private AbstractDataTable createTable(){ DataTable data=DataTable.create(); data.addColumn(ColumnType.STRING,“任务”); data.addColumn(ColumnType.NUM
private AbstractDataTable createTable(){
DataTable data=DataTable.create();
data.addColumn(ColumnType.STRING,“任务”);
data.addColumn(ColumnType.NUMBER,“每天小时”);
//赋值变量
数据=addTooltipColumn(数据);
列表asList=Arrays.asList(34,12,34,32,67,21,2,45,2,4,28,5,78);
data.addRows(asList.size());
int i=0;
for(整数:asList){
数据设置值(i,0,“工作”+i);
data.setValue(i,1,整数);
设置值(i,2,“…工具提示Txt…”);
i++;
}
返回数据;
}
工具提示目前似乎在
图表中不受支持(请参阅以获取参考)
我也在纯javascript中测试了它,工具不会显示在图表中:
如果在上述示例中从PieChart
更改为ColumnChart
,它将显示工具提示。
您所能做的就是使用PieChart
创建静态工具提示动作
一般来说,我建议使用非官方的而不是官方的gwt可视化
库,因为前者是更新的,支持最新的功能和现成的图表(数据角色、工具提示等)我找到了这个链接来定制我的工具提示,效果非常好。
希望这能帮助别人节省时间 是否有错误消息,或者您没有看到任何工具提示它看起来如何?@Ümit-控制台上没有JS错误。我一直试图改变的是并没有在hover上得到反映。您可以在附加的image.hmm中看到悬停时的默认文本,并且您显示的是普通文本而不是HTML工具提示?@但我注意到另一件事,data.getColumnLabel(2)-没有返回任何标签文本,它是空的。这意味着工具提示列不是通过JSNI方法添加的。上面的代码有问题吗?代码应该没问题。您可以尝试调试它(逐步完成该方法),也可以尝试将addTooltipColumn
的返回值分配给DataTable
变量(以防该方法复制)非常感谢您提供的信息。这对我帮助很大。由于我必须在IOS(IPAD)上支持这些图表,我不知道这些gwt图表是否是非flash图表。无论如何,我可以实现PieChart的工具提示吗?最重要的是,你值得我的赏金。gwt图表
只是google图表库的一个更新包装,类似于gwt可视化
。唯一的区别是,这是积极维持的。AFAIK唯一基于flash的图表是MotionChart
和旧的GeoMap
。关于PieChart
的工具提示,您所能做的就是手动创建div
并处理onHover事件以显示div,并使用gwt charts api禁用PieChart
的内置工具提示。工具提示适用于除PieChart.com以外的其他图表<代码>图表
不支持工具提示。所以gwt库并没有什么不同。一般来说,我建议使用gwt图表
,因为它是主动维护的。
private native DataTable addTooltipColumn(DataTable data) /*-{
data.addColumn({type: 'string', role: 'tooltip'});
return data;
}-*/;
private AbstractDataTable createTable() {
DataTable data = DataTable.create();
data.addColumn(ColumnType.STRING, "Task");
data.addColumn(ColumnType.NUMBER, "Hours per Day");
//Assigning the variable
data = addTooltipColumn(data);
List<Integer> asList = Arrays.asList(34,12,34,32,67,21,2,45,2,4,28,5,78);
data.addRows(asList.size());
int i=0;
for (Integer integer : asList) {
data.setValue(i, 0, "Work"+i);
data.setValue(i, 1, integer);
data.setValue(i, 2, "....Tool Tip Txt...");
i++;
}
return data;
}