如何过滤应用程序制造商的“ SuggestBox”中的选项

时间:2019-04-25 10:41:07

标签: google-app-maker

我需要对暗示框中的选项实施过滤。 我尝试以不同的方式进行操作,但是我的尝试都没有成功:

  1. 使用模型而不是选项/值;创建计算的SQL模型并传递参数进行过滤:

无效:suggestBox在加载数据之前没有事件或任何要调用的东西,因此,如果在输入任何内容之前传递参数进行查询-不会看到错误提示:

Please provide value for the parameter ":Param" used in the query Error: Please provide value for the parameter ":Param" used in the query
Query for record suggest oracle: (Error) : Please provide value for the parameter ":Param" used in the query
Query for record suggest oracle failed.

  1. 使用选项/值

当将对象传递到“建议框”时,似乎不可能具有不同的属性。例如,我希望用户看到一个用户友好的字段 Name 并使用一条记录或至少一条记录的ID,但是如果您指定 Name 作为选项和 Id 作为值,Name被写到一个SuggestBox,现在我们得到一个验证错误,因为 Name 是一个字符串,而 Id 是一个数字。 / p>

请帮助我了解错误之处,或向我显示解决方法。 谢谢!

1 个答案:

答案 0 :(得分:1)

我也有同样的问题。我放弃了建议框,并创建了一个弹出表单。使用查询构建器模型作为数据源。我唯一不喜欢的是它似乎区分大小写。

类似:

YourFilterColumn startsWith? :Param

添加表视图,然后可以添加文本框并将oninputchange事件设置为:

widget.datasource.query.parameters.Param = widget.value;
widget.datasource.load();

然后,您可以开始键入以选择所需的记录,然后通过按钮将其传递回表单。

如果它是一个关系字段,则如下所示:

app.pages.YourPage.children.YourForm.datasource.item.YourItem = 
widget.datasource.item;

或类似的东西,如果您只需要一个值(尚未测试):

app.pages.YourPage.children.YourForm.datasource.item.YourItem = 
widget.datasource.item.YourValue;

可能添加几行以清除表单:

widget.root.descendants.TextBox1.value = "";
widget.datasource.query.parameters.Param = "";
widget.datasource.load();