Google app maker 如何将下拉列表更改为文本框,以便将条形码扫描到字段中

Google app maker 如何将下拉列表更改为文本框,以便将条形码扫描到字段中,google-app-maker,Google App Maker,我有一个Appmaker表单来创建一个记录,其中包含与另一个表的多对一关系。默认情况下,表单会创建一个下拉列表,从列表中选择相关记录。这很好,但我需要扫描(或键入)项目名称,而不是选择它 当我将下拉列表更改为文本框并将其绑定到相关表时,它会变灰,并在预览时变得不可用。(悬停在上方时,我看到一个圆圈,圆圈中有一条线。) 当我将下拉列表和文本框保持在同一个表单上时,我可以从下拉列表中选择一条记录,它将填充文本框。之后,文本框将变为可编辑状态,并根据需要工作 如何删除下拉列表并使文本框可编辑?问题是,

我有一个Appmaker表单来创建一个记录,其中包含与另一个表的多对一关系。默认情况下,表单会创建一个下拉列表,从列表中选择相关记录。这很好,但我需要扫描(或键入)项目名称,而不是选择它

当我将下拉列表更改为文本框并将其绑定到相关表时,它会变灰,并在预览时变得不可用。(悬停在上方时,我看到一个圆圈,圆圈中有一条线。)

当我将下拉列表和文本框保持在同一个表单上时,我可以从下拉列表中选择一条记录,它将填充文本框。之后,文本框将变为可编辑状态,并根据需要工作


如何删除下拉列表并使文本框可编辑?

问题是,当您将文本框绑定到关系字段时,它正在查找记录,而不仅仅是值。 我的想法是,您将要创建一个文本框,在其中输入/扫描值并使其未绑定。然后,在onValueChange事件中,编写一个脚本,以查询您试图关联的相关表中的项,并将其设置为与您试图编辑的字段相等。我不知道此代码是否有效,但尚未对其进行测试,但应该让您朝着正确的方向前进:

  var ds = app.datasources.Parts;
  ds.query.filters.Part._equals = newValue;
  ds.load(function() {
    if (ds.item === null) {
      alert("Part not found!");
      widget.root.descendants.FieldPart.value = null;
    }
    else {
      widget.root.descendants.FieldPart.value = ds.item;
    }    
  });

问题是,当您将文本框绑定到关系字段时,它正在查找记录,而不仅仅是值。 我的想法是,您将要创建一个文本框,在其中输入/扫描值并使其未绑定。然后,在onValueChange事件中,编写一个脚本,以查询您试图关联的相关表中的项,并将其设置为与您试图编辑的字段相等。我不知道此代码是否有效,但尚未对其进行测试,但应该让您朝着正确的方向前进:

  var ds = app.datasources.Parts;
  ds.query.filters.Part._equals = newValue;
  ds.load(function() {
    if (ds.item === null) {
      alert("Part not found!");
      widget.root.descendants.FieldPart.value = null;
    }
    else {
      widget.root.descendants.FieldPart.value = ds.item;
    }    
  });