(Для упрощения удалил свой старый вопрос.)
Я ввожу данные в таблицу, а затем хочу сделать точную копию этих данных в новом элементе / записи / строке *.
* не уверен, что это правильный термин.
Есть ли способ добиться этого?
(Для упрощения удалил свой старый вопрос.)
Я ввожу данные в таблицу, а затем хочу сделать точную копию этих данных в новом элементе / записи / строке *.
* не уверен, что это правильный термин.
Есть ли способ добиться этого?
Извините за медленный ответ. Вот что вам следует делать:
Добавьте в строку кнопку «копировать». В 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();