javascript - 如何复制搜索结果?

标签 javascript appconkit

所以我有以下问题: 我有一个包含大量记录的 Foundset,我想将它们(深度)复制到新位置,包括所有值但没有 ID。最好的方法是什么?

最佳答案

如果您想对搜索结果进行深层复制,则需要执行以下步骤:

  1. 通过 retrieveOrCreateFoundset() 创建一个空的搜索结果
  2. 迭代搜索结果的所有记录,并将其复制到新记录
  3. 使用诸如 rec.dataprovider()
  4. 之类的方法获取 dataProvider
  5. 获取记录上每个数据提供者的值 rec.value()
  6. 确保 uuid 数据提供程序不会复制到新记录
  7. 通过数据提供者将值设置为新记录
  8. 保留更改

完整的代码示例是:

var vMobileController = plugins.iBizClientWebService.mobileController();
var vFoundset = vMobileController.currentFoundset();
var vDatabaseManager = vMobileController.dataManager();
var copyFoundSet = vDatabaseManager.retrieveOrCreateFoundset("<datasource>:<label>");
 for (var index = 0; index < vFoundset.size(); index++) {
     var rec = vFoundset.record(index);
     var loc = copyFoundSet.newRecord();
        var newRecord = copyFoundSet.record(loc);            
        var allDataproviders = rec.dataprovider();
        for(var i=0;i<allDataproviders.length;i++)
        {
            var dataProvider = allDataproviders[i];
            var dataValue = rec.value(dataProvider);
            if(dataProvider != "attribute_id")
            {    
                newRecord.setValue(dataProvider, dataValue);

            }
        }
}

 copyFoundSet.saveData();

关于javascript - 如何复制搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039516/

相关文章:

MM/dd/yyyy 格式的星期几的 javascript 日期不是库

javascript - 查找并删除数组元素

java - 应用ConKit3 : My changes in the Java Server files get overriden

javascript - 用颜色 D3.js 填充 map

javascript - 将 javascript 字符串中的所有字母和超过 2 个空格替换为空字符

javascript - 单击链接时页面向下滚动