我有一个Appmaker表单来创建一条记录,该记录包括与另一张表的多对一关系。默认情况下,该表单会创建一个下拉列表,以从列表中选择相关记录。效果很好,但是我需要对项目名称进行条形码扫描(或键入),而不是选择它。
当我将下拉列表更改为文本框并将其绑定到相关表时,它会变灰并且在预览时将变得不可用。 (当我将鼠标悬停在上面时,会得到一条带有一条直线的圆。)
当我同时将下拉列表和文本框保持在同一窗体上时,我可以从下拉列表中选择一条记录,并填充文本框。之后,该文本框将变为可编辑状态,并可以根据需要运行。
如何删除下拉菜单并使文本框可编辑?
答案 0 :(得分:1)
问题是,当您将文本框绑定到关系字段时,它正在寻找一条记录,而不仅仅是一个值。 我的想法是,您将要创建一个文本框,在其中输入/扫描值并使其不受约束。然后可能在onValueChange事件中编写一个脚本来查询您要关联的相关表中的项目,并将其设置为等于您要编辑的字段。我不知道此代码是否可以正常工作尚未经过测试它可以使您朝正确的方向前进:
var datasource = app.datasources.LookUpRelationTable;
datasource.query.filters.YourUniqueValue._equals = widget.value; //query based on the value in the textbox
datasource.load();
console.log(datasource.item.YourField);//
widget.root.descendants.YourFormName.datasource.item.YourFieldToUpdate =
datasource.item; //set the field equal to the record you want