Google app maker 将关系数据表示为表中的列

Google app maker 将关系数据表示为表中的列,google-app-maker,Google App Maker,试图弄清楚如何在表中显示/编辑相关数据,真的可以朝着正确的方向推动 大体上,这是看订阅数据——我想看看每个客户每月支付多少钱。如果一个客户在一年中中途涨价,我需要数据来反映这一点 所以,我有一个客户数据库,一个月数据库,有多个关系。我还有一个与这两者相关的“MonthlyLocation”数据库,因此我可以说客户a在2017年6月有40美元,例如。我希望在表格中显示数据,并使数字可编辑: Jun Jul Aug Sep Client A 20

试图弄清楚如何在表中显示/编辑相关数据,真的可以朝着正确的方向推动

大体上,这是看订阅数据——我想看看每个客户每月支付多少钱。如果一个客户在一年中中途涨价,我需要数据来反映这一点

所以,我有一个客户数据库,一个月数据库,有多个关系。我还有一个与这两者相关的“MonthlyLocation”数据库,因此我可以说客户a在2017年6月有40美元,例如。我希望在表格中显示数据,并使数字可编辑:

             Jun   Jul   Aug   Sep 
  Client A   20    20    22    20
  Client B   15    20    15    15
  Client C   null  11    11    12
所以我可以过滤掉月份(列),也可以过滤掉客户端(行)。感谢您的帮助

************编辑-所以我已经设法做到了一半

首先,表的数据源需要与客户机连接,因为我希望我的表行按客户机分组

接下来,页面有一个自定义属性“datenum”,我可以更改它以帮助过滤列

每个列标题现在变成@datasources.Months.items..MonthName[@properties.datenum+在此处插入列号。随着datenum的更改,列显示不同的名称。太好了

最后一个问题是,表中显示的值需要按列标题名称过滤。我无法在此处执行“[@properties.datenum+在此处插入列号”]”技巧,以防丢失值。。如果我这样做,我可能会意外地得到八月以下的Sep值,例如


我真的希望这是有意义的——我的第一反应是制作一个脚本,获取行数据源和“MonthName[@properties.datenum+在此处插入列号”],并返回正确的值,但可能我只是误解了绑定的工作原理,有一种更简单的方法可以做到这一点。

用于过滤客户端,查看本教程:

它展示了如何使用过滤器创建数据查询,这基本上就是您所需要的


过滤列有点困难,至少我还没有找到一个简单的方法

免责声明:外面可能有比这更好的解决方案。这只是给你一个想法。

我已经通过为表所在的页面使用名为“isVisible”的自定义属性列表解决了这个问题。然后,我在页面中添加了一个名为“ColumnPicker”的多选项

在ColumnPicker中每次更改后,我都会将更改与isVisible同步。每个列的可见性(标题和数据部分)都连接到:
@widget.root.properties.isVisible[@widget.childIndex]

因此,使用小部件的索引,我将其与isVisible列表相关联

以下是我正在使用的同步功能:

  function syncColumnPickerValuesWithIsVisible(columnPickerWidget, newValues) {
    setIsVisibleAllSameValue(columnPickerWidget, false);
    newValues.forEach(function(element) {
      columnPickerWidget.root.properties.isVisible[element] = true;
    });
  }
所以在同步中,我首先将所有isVisible值设置为false。然后我使用multi-select提供的newValues数组将正确的isVisible元素设置为true


=>从多选中选择的项目在表中显示为列。

非常感谢您的帮助!我想你可能已经解决了这个难题(过滤列),当时我正在寻找一个简单问题的解决方案——在一个表中显示三个相关的数据库。因此,“月份”(COL)与一个数据库中的名称相关,“客户机”(行)与另一个数据库中的名称相关,表中的实际数据是与两列相关的“MonthlyLocation”数据库条目。对不起,我应该把过滤留给另一个问题,真的很感谢那里的帮助,一旦我弄明白了这个问题,我将使用这个想法!对不起,我有点懒,在回答之前,我真的读了你的帖子(我想给出一个快速的回答,因为我也要做实际的工作:D)。不幸的是,我还没有获得以这种方式展示相关数据的经验,所以必须有其他人参与进来。