使用HTML值更新Google Charts Dashboard单元格

时间:2014-08-13 19:51:47

标签: datatable google-visualization dashboard

我有一个Google Charts Dashboard实例绑定到ChartWrapper实例,该实例具有allowHtml:true,以及我们从查询响应中获取的DataTable实例:

...

data = response.getDataTable();
data.setTableProperty("allowHtml", true);

...

dashboard = new google.visualization.Dashboard(document.getElementById('dashboard'));
table = new google.visualization.ChartWrapper({
            'chartType': 'Table',
            'dataTable' : data,
            'containerId': 'table',
            'options' : {'allowHtml': true, 'showRowNumber': true} //,
        });

...

dashboard.bind(filters, table);
dashboard.draw(data);

这样可以很好地绘制HTML。我们通过响应返回大量的html,它被绘制到DOM中。

当我们尝试通过DataTable对象(上面的代码片段中的“data”)更新图表中的值时,会出现问题。当我们尝试使用带有HTML字符串的DataTable.setCell()函数调用更新单元格的值时,更新的单元格只显示原始HTML,而不是将单元格格式化为HTML。

data.setCell(row_index, column_index, response.html);
dashboard.draw(data);

我们已将ChartWrapper和DataTable选项都设置为allowHtml = true,并且似乎没有办法为Dashboard设置allowHtml属性。

有没有人对此有任何见解?对象如何相互绑定会有问题吗?根据{{​​3}}:

  

ChartWrapper类用于包装图表并处理所有图表   加载,绘图和数据源查询图表。

我应该使用不同的API来更新值吗?我已经尝试将列属性,设置表属性等设置为allHtml = true,但我尝试过的任何内容都无法使用HTML更新表格。它始终显示原始HTML字符串

1 个答案:

答案 0 :(得分:0)

捂脸

好的,事实证明我们的服务器端代码在某一点上是通过Django的render_to_string()函数对HTML字符串进行编码,所以像“<”这样的东西被转换为<

他们在Google Charts中显示为正确的值,即<值呈现为“<”在DOM中。一旦我拿出了render_to_string调用,一切正常。