0

我有一个类似于提供的关系示例的主/详细关系。在我的示例中,部门与员工有一对多的关系,我有一个表单小部件(部门),它有一个插入员工的按钮。

当我单击该按钮时,会显示正确的对话框表单,但我可以进入任何我不想要的部门。我希望将关系默认为单击它的“父”小部件,理想情况下不可编辑。

4

1 回答 1

3

如果没有看到您的应用,很难给出准确的答案,但您可能应该将表单中的下拉列表替换为标签,这将使其不可编辑。您可以将标签的值绑定到关系,就像绑定下拉列表的值一样。

一个稍微简单的选项是禁用下拉菜单(可能在属性检查器中查找已启用)。但这可能会让您的用户感到困惑,因为他们可能认为它应该是可编辑的。

(或者,如果显示关系并不重要,您可以完全删除该字段。)

我认为这只回答了您问题的“不可编辑”部分,如果您希望它被预先填写,您要么需要做一些脚本,要么使用关系数据源

我建议使用关系数据源,所以现在你可能有类似的东西:

app.datasources.Emp.create(),这会创建一个新员工。

相反,您可以使用widget.datasource.relations.Emp.create(),这将创建一个新员工,该员工与 widget.datasource 中的当前项目有关系。如果此按钮位于您的部门表单小部件中,则意味着它将创建与表单中显示的任何部门相关的员工。

请注意,这些都不会阻止用户更改员工的部门,它只会更改 UI。在很多情况下就足够了,但如果限制哪些用户可以创建员工、更改部门等很重要,您可能还需要添加一些服务器端安全控制:请参阅https://developers.google.com/appmaker/安全/安全应用数据

于 2017-01-26T17:15:52.483 回答