我想建立一个简单的创建/版本系统,在其中可以创建包含许多关键字的Challenge。这是我创建的数据:
挑战<----很多到很多----->关键字
现在,我正在努力构建挑战创建表单,因为我试图将关键字选择嵌入到挑战本身的CREATE页面中。外观如下:
Screenshot for Challenge creation
这是挑战创建页面。它包含名称,描述(挑战模型字段)以及与网格一起的下拉列表,两者均专用于此挑战的关键字。多亏了脚本,当用户选择一个值时,我成功地将关键字项添加到了Grid数据源中:
/**
* Adds a Keyword to the list of Keywords
* If already added then does nothing.
* @param {Widget} widget - widget that triggered the event.
* @param {Keyword} newValue - record object of selected keyword.
*/
function addKeyword(widget, newValue) {
var ds = app.pages.CreateChallenge.descendants.KeywordsGrid.datasource;
ds.items.push({
KeywordId: newValue._key,
KeywordName: newValue.Name
});
widget.value = null;
}
一旦添加了关键字,我的问题是我不知道如何将充满关键字的新填充网格链接到创建中的“新挑战”,以便使用这些关键字填充它。这是Grid对象上的样子:
我只能通过绑定来实现吗?我应该编写脚本吗? 欢迎任何帮助。我想我的问题实际上是:如何在对象(与对象之间的关系)的创建(和编辑)中将网格绑定到对象?
答案 0 :(得分:0)
几个小时后终于解决了。我用过:
@datasources.Challenge.modes.create.item.ChallengeKeyword
它允许处理创建“模式”正在处理的项目的数据。