1

(删除了我的旧问题以简化它。)

我在表格中输入数据,然后我想在新项目/记录/行*中复制该数据。

*不确定正确的术语。

有没有办法做到这一点?

4

1 回答 1

3

抱歉回复慢。这是你应该做的:

在行中添加一个“复制”按钮。在该按钮的 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();
于 2017-02-02T20:00:57.050 回答