运行AMU.loadRecordByKey函数后,插入表单向左移动

时间:2017-08-22 21:35:21

标签: google-app-maker

我在编辑表单(不是插入表单)的onAttach事件中调用AMU.loadRecordByKey(小部件)来显示先前提交的正确记录。

以下是App Maker University脚本库中的功能:

/**
 * Loads a record by Key
 * Checks URL first and then uses page parameter RECORD_ID
 * Use in the page onAttach, recommend a deticated datasource
 * @param {Object} widget Should be the page
 */
AMU.loadRecordByKey = function(widget){
  google.script.url.getLocation(function(location) {
    var recordId = location.parameter.record_id;
    var properties = app.pages[app.currentPage.name].properties;
    if (recordId !== undefined && recordId !== null) {
      widget.datasource.query.filters._key._equals = recordId;     
    }else if(properties.RECORD_ID !== null){
      widget.datasource.query.filters._key._equals = properties.RECORD_ID;     
    }else{
    //  alert('No Record ID Found'); 
    }   
    widget.datasource.load();    
  });
};

当表单最初打开其显示正常时,但在调用AMU函数之后,表单上的所有内容都向左移动。函数中没有错误(我通过在每一行之间放置警报来测试它。)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

脚本只加载数据源。一旦加载了项目,渲染引擎就会起作用。因此,与脚本无关,您需要查看您的布局。

请记住,理想情况下,您需要在手动加载模式下将此脚本与数据源一起使用,以避免双重数据加载和闪烁。

旁注:

// this
var properties = app.pages[app.currentPage.name].properties;

// can be simplified to this
var properties = app.currentPage.properties;