【发布时间】:2014-08-13 19:51:46
【问题描述】:
我有一个 Google Charts Dashboard 实例绑定到一个具有 allowHtml: true 的 ChartWrapper 实例,以及一个我们从查询响应中获得的 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 对象(上面代码 sn-p 中的“数据”)更新图表中的值时,问题就出现了。当我们尝试使用带有 HTML 字符串的 DataTable.setCell() 函数调用来更新单元格的值时,更新后的单元格仅显示原始 HTML 而不会将单元格格式化为 HTML。
data.setCell(row_index, column_index, response.html);
dashboard.draw(data);
我们已将 ChartWrapper 和 DataTable 选项都设置为 allowHtml = true,但似乎没有办法为仪表板设置 allowHtml 属性。
有人对此有任何见解吗?对象之间的绑定方式可能有问题吗?根据Google Charts:
ChartWrapper 类用于包装您的图表并处理所有 为您的图表加载、绘图和数据源查询。
我应该使用不同的 API 来更新值吗?我尝试将列属性、设置表属性等设置为 allowHtml = true 但我尝试过的任何方法都无法让我使用 HTML 更新表。它总是显示原始的 HTML 字符串
【问题讨论】:
标签: datatable google-visualization dashboard