2

我想使用标准的 HTML 标题属性(在为其他目的放置其他属性时)使值(“v”)出现在翻转时。

可视化文档说这可以通过“p 属性”来完成。但是,从我下面的代码中,只有 className 被呈现为 td 标签中的属性。

鉴于“样式”属性是直接从文档复制的示例 - https://developers.google.com/chart/interactive/docs/reference#cell_object,我假设我做错了什么。你能看出它可能是什么吗?

单元格对象:

{
      "v": "\/?s=mi+shampoo+adecuado?&submit=Buscar",
      "f": "\/?s=m...uscar",
      "p": {
        "title": "\/?s=mi+shampoo+adecuado?&submit=Buscar",
        "style": "border: 1px solid green;",
        "className": "randomCls",
        "data-title": "\/?s=mi+shampoo+adecuado?&submit=Buscar"
      }
    },

可视化代码

var table = new google.visualization.DataTable();
for(var j=0; j < data[0].length; j++) {
    table.addColumn(typeof data[1][j].v,data[0][j]);
}
data.shift();
table.addRows(data);
var ac = new google.visualization.Table(graph.get(0)); // AreaChart

ac.draw(table, {
    backgroundColor: {fill:'#d4d4d4'},
    colors : ["#999999",'#004087']
});
4

2 回答 2

3

表格可视化仅支持单元格的“className”和“style”属性。如果您需要将其他 HTML 属性应用于单元格,则必须编写自定义代码来解析由可视化创建的元素并手动<table>将属性添加到元素中。<td>如果您可以将属性放在单元格内容而不是<td>元素上,则可以将单元格的格式化值设置为包含您需要的任何 HTML。

于 2013-09-04T18:16:23.090 回答
0

感谢@asgallant 澄清支持的属性。因此,这是相应的代码:

var wrapper = new google.visualization.ChartWrapper({
            chartType: 'Table',
            dataTable: table,
            options: {backgroundColor: {fill:'#d4d4d4'}, colors : ["#999999",'#004087'], allowHtml:true},
            containerId: 'widget'+wid
});

google.visualization.events.addListener(wrapper, 'ready', function() {
    graph.find(".tipFlag").each(function(){
         var v = $(this).attr("class").substring("tipFlag ".length);
         $(this).attr("title", v);
    });
});

wrapper.draw();

新的单元格对象如下所示:

{
  "v": "\/?s=mi+shampoo+adecuado?&submit=Buscar",
  "f": "\/?s=m...uscar",
  "p": {
    "className": "tipFlag \/?s=mi+shampoo+adecuado?&submit=Buscar",
  }
},
于 2013-09-04T18:38:47.050 回答