(删除了我的旧问题以简化它。)
我在表格中输入数据,然后我想在新项目/记录/行*中复制该数据。
*不确定正确的术语。
有没有办法做到这一点?
抱歉回复慢。这是你应该做的:
在行中添加一个“复制”按钮。在该按钮的 onClick 中,添加以下代码:
var createDataSource = widget.datasource.modes.create;
var rowDataSource = widget.datasource;
createDataSource.item.foo = rowDataSource.item.foo;
createDataSource.item.bar = rowDataSource.item.bar;
// And so on for each field
createDataSource.createItem();
您可能可以确保 javascript for-in 循环遍历项目的所有属性,因此您不必手动指定每条记录,但我没有时间尝试这个。
编辑:
上面的代码不会立即在列表中显示复制的记录,因为我使用了行的创建数据源,而不是列表创建数据源。试试这个:
var rowDataSource = widget.datasource;
// Instead of using the row datasource for create, explicitly use the data source of your list.
var listDatasource = app.datasources.NameOfYourListsDataSource;
var createDataSource = listDatasource.modes.create;
createDataSource.item.foo = rowDataSource.item.foo;
createDataSource.item.bar = rowDataSource.item.bar;
// And so on for each field
createDataSource.createItem();