Google app maker 为时间轴应用脚本库

Google app maker 为时间轴应用脚本库,google-app-maker,Google App Maker,这是我上一个问题的后续问题。我很抱歉,如果这太复杂,无法在这里回答 我试图在时间轴视图中显示我的数据。我在这里从谷歌找到了一个时间轴脚本: 但我不确定我做的是否正确。我假设我应该: 在“我的应用”的“设置”部分下添加 那么,我是否将此代码作为客户端脚本插入 google.charts.load('current', {'packages':['timeline']}); google.charts.setOnLoadCallback(drawChart); functio

这是我上一个问题的后续问题。我很抱歉,如果这太复杂,无法在这里回答

我试图在时间轴视图中显示我的数据。我在这里从谷歌找到了一个时间轴脚本:

但我不确定我做的是否正确。我假设我应该:

在“我的应用”的“设置”部分下添加

那么,我是否将此代码作为客户端脚本插入

google.charts.load('current', {'packages':['timeline']});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var container = document.getElementById('timeline');
        var chart = new google.visualization.Timeline(container);
        var dataTable = new google.visualization.DataTable();

        dataTable.addColumn({ type: 'string', id: 'President' });
        dataTable.addColumn({ type: 'date', id: 'Start' });
        dataTable.addColumn({ type: 'date', id: 'End' });
        dataTable.addRows([
          [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
          [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
          [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);

        chart.draw(dataTable);
      }
如果是这样的话,我很困惑,因为我得到了一个错误:drawChart在定义之前就已经被使用了

然后我希望我能用@datasources.item.FieldName替换掉“华盛顿”,并替换@datasources.item.StartDate和@datasources.item.EndDate的日期

但也许我完全误解了这到底是怎么回事

为了实际显示表格,我会使用HTML小部件吗


谢谢你为任何人提供的帮助

你在一篇帖子里有很多问题,我只回答第一个问题。 从模型对象显示您自己的数据应该很简单

首先是结果::-)

步骤:

  • 应用内设置,在外部资源下,添加JavaScript URL:
    https://www.gstatic.com/charts/loader.js
  • 客户端脚本应如下所示:

    function showChart(widget){
        google.charts.load('current', {'packages':['timeline']});
        function drawChart() {
           var container = widget.getElement();
           var chart = new google.visualization.Timeline(container);
           var dataTable = new google.visualization.DataTable();
           dataTable.addColumn({ type: 'string', id: 'President' });
           dataTable.addColumn({ type: 'date', id: 'Start' });
           dataTable.addColumn({ type: 'date', id: 'End' });
           dataTable.addRows([
              [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
              [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
              [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);
          chart.draw(dataTable);
        }
        google.charts.setOnLoadCallback(drawChart);
    }
    
  • 请注意,Google使用非标准Javascript,其中要求在使用方法之前声明方法,因此
    setOnLoadCallback
    必须在
    drawChart
    声明之后进行。还要注意使用
    widget.getElement()
    从AppMaker小部件获取DOM对象

  • 将HTML小部件添加到页面,为其指定所需的宽度和高度,并在其
    onAttach
    事件中,添加对
    showChart(小部件)的调用

  • 令人惊叹的。谢谢你的帮助!