我有一个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字符串
答案 0 :(得分:0)
捂脸
好的,事实证明我们的服务器端代码在某一点上是通过Django的render_to_string()函数对HTML字符串进行编码,所以像“&lt;”这样的东西被转换为<
。
他们在Google Charts中显示为正确的值,即<
值呈现为“&lt;”在DOM中。一旦我拿出了render_to_string调用,一切正常。