在 master/detail 关系表单小部件对话框按钮中设置详细信息的默认值
set default value for detail in master/detail relationship form widget dialog button
我有一个 master/detail 关系,类似于提供的关系示例。
在我的例子中,部门与员工有一对多的关系
我有一个表单小部件(部门),其中有一个用于插入员工的按钮。
当我单击该按钮时,会显示正确的对话框,但我可以输入任何我不想输入的部门。
我希望将关系默认为单击它的 "parent" 小部件,理想情况下不可编辑。
如果没有看到您的应用程序,很难给出准确的答案,但您可能应该用标签替换表单中的下拉菜单,这将使其不可编辑。您可以将标签的值绑定到关系,就像绑定下拉列表的值一样。
一个更简单的选项是禁用下拉列表(可能在 属性 检查器中查找已启用)。但这可能会让您的用户感到困惑,因为他们可能认为它应该是可编辑的。
(或者,如果显示关系并不重要,您可以完全删除该字段。)
我认为这只能回答您问题的 "not editable" 部分,如果您希望它成为 pre-filled,您要么需要编写一些脚本,要么使用 relation data sources.
我建议使用关系数据源,所以现在你可能有这样的东西:
app.datasources.Emp.create()
,创建新员工。
相反,您可以使用 widget.datasource.relations.Emp.create()
,这将创建一个与 widget.datasource 中的当前项目相关的新员工。如果此按钮位于您的部门表单小部件中,则意味着它将创建与表单中显示的任何部门相关的员工。
请注意 none 这会阻止用户更改员工的部门,它只会更改 UI。在很多情况下这就足够了,但如果限制哪些用户可以创建员工、更改部门等很重要,您可能还想添加一些 server-side 安全控制:请参阅 https://developers.google.com/appmaker/security/secure-app-data
我有一个 master/detail 关系,类似于提供的关系示例。 在我的例子中,部门与员工有一对多的关系 我有一个表单小部件(部门),其中有一个用于插入员工的按钮。
当我单击该按钮时,会显示正确的对话框,但我可以输入任何我不想输入的部门。 我希望将关系默认为单击它的 "parent" 小部件,理想情况下不可编辑。
如果没有看到您的应用程序,很难给出准确的答案,但您可能应该用标签替换表单中的下拉菜单,这将使其不可编辑。您可以将标签的值绑定到关系,就像绑定下拉列表的值一样。
一个更简单的选项是禁用下拉列表(可能在 属性 检查器中查找已启用)。但这可能会让您的用户感到困惑,因为他们可能认为它应该是可编辑的。
(或者,如果显示关系并不重要,您可以完全删除该字段。)
我认为这只能回答您问题的 "not editable" 部分,如果您希望它成为 pre-filled,您要么需要编写一些脚本,要么使用 relation data sources.
我建议使用关系数据源,所以现在你可能有这样的东西:
app.datasources.Emp.create()
,创建新员工。
相反,您可以使用 widget.datasource.relations.Emp.create()
,这将创建一个与 widget.datasource 中的当前项目相关的新员工。如果此按钮位于您的部门表单小部件中,则意味着它将创建与表单中显示的任何部门相关的员工。
请注意 none 这会阻止用户更改员工的部门,它只会更改 UI。在很多情况下这就足够了,但如果限制哪些用户可以创建员工、更改部门等很重要,您可能还想添加一些 server-side 安全控制:请参阅 https://developers.google.com/appmaker/security/secure-app-data