【问题标题】:Update Google Charts Dashboard cell with HTML value使用 HTML 值更新 Google 图表仪表板单元格
【发布时间】: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


    【解决方案1】:

    面部护理

    好吧,事实证明我们的服务器端代码曾经通过 Django 的 render_to_string() 函数对 HTML 字符串进行编码,因此像“<。

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

    【讨论】:

      猜你喜欢
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多