我在编辑表单(不是插入表单)的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函数之后,表单上的所有内容都向左移动。函数中没有错误(我通过在每一行之间放置警报来测试它。)
有什么想法吗?
答案 0 :(得分:0)
脚本只加载数据源。一旦加载了项目,渲染引擎就会起作用。因此,与脚本无关,您需要查看您的布局。
请记住,理想情况下,您需要在手动加载模式下将此脚本与数据源一起使用,以避免双重数据加载和闪烁。
旁注:
// this
var properties = app.pages[app.currentPage.name].properties;
// can be simplified to this
var properties = app.currentPage.properties;