【问题标题】:set 'refreshInterval' for Charts in Google Apps Script为 Google Apps 脚本中的图表设置“刷新间隔”
【发布时间】:2013-01-21 19:32:15
【问题描述】:

我是数学老师,不是程序员,所以你必须原谅我在这里的无知......

我一直在寻找一种方法,可以通过 doGet() 函数在一个用 Google Apps 脚本 编写的网络应用程序中设置图表选项,而无需应用程序用户执行任何操作。我找到了可视化语言的文档,但没有找到图表。这是我认为应该起作用的(但不是)。

var Correct = Charts.newPieChart().setOption("refreshInterval", 1)
    .setDataTable(dataTable3)
    .setTitle("% Correct").setDimensions(400, 300).set3D()
    .build();

我的应用程序可以很好地返回图表,但是当我更新引用电子表格上的数据时,它只会在我手动刷新图表所在的页面时更新图表。

【问题讨论】:

    标签: user-interface web-applications charts google-apps-script


    【解决方案1】:

    您可以在计时器上重建整个图表...

    function doGet() {
      // Build chart
      // Add timer
      app.addTimer(app.createServerHandler("refresh") , 3000);  // 3 secs
    }
    
    function refresh(e) {
      // Clear panel that contains chart
      panel.clear();
      // Re-build chart
      // Add timer again 
      app.addTimer(app.createServerHandler("refresh") , 3000);
    }
    

    这与工作表内的图表刷新I was looking for 的方式不完全相同,但是没有手动页面刷新。

    【讨论】:

    • 如果我设置数据 URL 而不是通过电子表格应用程序调用获取它会怎样?我昨晚在图表 API 中发现有一个 setUrl 函数,并打算在本周末尝试一下。如果这不起作用,将使用您的其他解决方案 - 谢谢。 5 分钟脚本限制会停止刷新还是无限期运行?
    • .setDataUrl 似乎没有像我希望的那样工作。我拥有的图表位于仪表板面板中,如果我只清除图表而不清除类别过滤器,它似乎会中断。所以它在使用时不会出现故障我正在使用您的建议来添加手动刷新按钮。非常感谢您的帮助——太棒了!
    • 如果您使用的是仪表板,则必须重建/刷新整个仪表板。 5分钟超时我没有考虑,它为你停止了吗?
    • 没放那么久。使用仪表板控件时,我不希望它们在更改视图时重置——这就是我现在要手动刷新的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多