Google app maker 基于数据源中的记录动态创建小部件 (提前为措辞拙劣的问题道歉。)

Google app maker 基于数据源中的记录动态创建小部件 (提前为措辞拙劣的问题道歉。),google-app-maker,Google App Maker,不确定这是否可能-我们无法找到任何关于此的文档 我有一个数据源,其记录包含证书上的信息字段 对于数据源中的每条记录,我希望在指定的面板上创建一个标签小部件。(该面板已在app maker页面上创建。) 下面将放一些伪代码来展示我希望实现的目标: var length = app.datasources.Certificates.items.length; var records = app.datasources.Certificates.items; for (var i =0; i &

不确定这是否可能-我们无法找到任何关于此的文档

  • 我有一个数据源,其记录包含证书上的信息字段
  • 对于数据源中的每条记录,我希望在指定的面板上创建一个标签小部件。(该面板已在app maker页面上创建。)
下面将放一些伪代码来展示我希望实现的目标:

var length = app.datasources.Certificates.items.length;
var records = app.datasources.Certificates.items;

for (var i =0; i <length; i++){
app.pages.A_Edit_Certificate_Requirements.descendants.Panel1.createNewWidget(label,text = records[i].Certificate_Name) 
}
var length=app.datasources.Certificates.items.length;
var记录=app.datasources.Certificates.items;

对于(var i=0;i如果您确实想自己动态创建标签,这里将提供一些示例代码,以实现相同的功能。为了使此功能正常工作,您的面板数据源需要设置为“Certificates”,并且代码需要附加到面板的onDataLoad事件:

widget.datasource.items.forEach(function(item) {
  var node = document.createElement('div');
  node.className = 'app-Label';
  node.style.margin = '8px';
  node.textContent = item.Certificate_Name;
  widget.getElement().appendChild(node);
});

您是否考虑过只使用内置网格小部件并将标签插入网格单元格面板中?这将实现同样的效果,因为网格小部件会自动为您的数据源项创建子单元格面板的数量。然后,您可以根据您对标签的需要设置单元格面板的样式您已经在尝试上述操作。似乎正在工作。正在努力从表中提取值。我会找到答案。无论如何,谢谢。只需将网格小部件的数据源绑定到“证书”,然后将标签拖动到单元格面板中,并将标签的值设置为datasource.item.Certificate\u Name。事实上,这应该是您的选项如果您的网格已经绑定到数据源,并且一旦您在value属性上选择binding,它将自动生成一个下拉列表,其中包含一些可选的数据源项值。动态创建元素将更加复杂。使用a表和以下代码实现了这一点:var results=widget.root.substands.Table1Body.children.\u值;console.log(结果[0].substands.Field.text);Woah,这确实有些效果。谢谢Markus,给了我一些可以修改的东西。