Scroll 如何将滚动条添加到气体模式对话框?
我想知道如何在我的GoogleApps脚本代码中添加一个滚动条,以便在对话框中滚动我的项目列表 我的代码的边栏方法(除了showModalDialog和showSidebar之外完全相同)不会滚动,但对话框方法不会 我尝试添加溢出:自动;和溢出:滚动;基本上我能找到的每个div都没有结果(虽然GAS中的iFrame应该已经设置为auto?) 我能找到的关于应用程序脚本、对话框和滚动条的唯一信息是app.createScrollPanel,它在去年被弃用 以下是我正在使用的代码:Scroll 如何将滚动条添加到气体模式对话框?,scroll,google-apps-script,dialog,modal-dialog,Scroll,Google Apps Script,Dialog,Modal Dialog,我想知道如何在我的GoogleApps脚本代码中添加一个滚动条,以便在对话框中滚动我的项目列表 我的代码的边栏方法(除了showModalDialog和showSidebar之外完全相同)不会滚动,但对话框方法不会 我尝试添加溢出:自动;和溢出:滚动;基本上我能找到的每个div都没有结果(虽然GAS中的iFrame应该已经设置为auto?) 我能找到的关于应用程序脚本、对话框和滚动条的唯一信息是app.createScrollPanel,它在去年被弃用 以下是我正在使用的代码: function
function showSidebarAdd() {
var ui = SpreadsheetApp.getUi();
var addUi = HtmlService.createTemplate(getAddUi()).evaluate().getContent();
var html = HtmlService.createTemplate(addUi+
"<script>\n" +
"var data = "+
getInvData()+
"</script>")
.evaluate()
.setTitle('Add Items to Inventory')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName('Unsorted Inventory'));
ui.showSidebar(html);
}
function showDialogAdd() {
var ui = SpreadsheetApp.getUi();
var addUi = HtmlService.createTemplate(getAddUi()).evaluate().getContent();
var html = HtmlService.createTemplate(addUi+
"<script>\n" +
"var data = "+
getInvData()+
"</script>")
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(500)
.setHeight(850)
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName('Unsorted Inventory'));
ui.showModalDialog(html,'Add Items to Inventory');
}
函数showSidebarAdd(){
var ui=SpreadsheetApp.getUi();
var addUi=HtmlService.createTemplate(getAddUi()).evaluate().getContent();
var html=HtmlService.createTemplate(addUi+
“\n”+
“变量数据=”+
getInvData()+
"")
.评估()
.setTitle('将项目添加到库存')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
var ss=SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName(“未分类的库存”);
显示侧边栏(html);
}
函数showDialogAdd(){
var ui=SpreadsheetApp.getUi();
var addUi=HtmlService.createTemplate(getAddUi()).evaluate().getContent();
var html=HtmlService.createTemplate(addUi+
“\n”+
“变量数据=”+
getInvData()+
"")
.评估()
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.设置宽度(500)
.设置高度(850)
SpreadsheetApp.getUi()//或DocumentApp或FormApp。
var ss=SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName(“未分类的库存”);
showmodaldiallog(html,'additestoinventory');
}
以下是滚动条版本的外观:
以下是对话框版本的外观:
希望它可以在对话框中完成,因为我更喜欢带有自定义尺寸的弹出式列表,而不是压缩到侧边栏
提前谢谢
要调整已打开对话框的大小,请在客户端代码中调用google.script.host.setWidth(width)
解决了我的问题!通过在创建对话框时删除.setHeight(),滚动条会自动显示并正常工作。您的代码使用了一个未定义的函数
getAddUi()
。我们需要能够重现这个问题。很抱歉。不过,还有一些代码可以让内容显示出来:函数getAddUi(data){var html=HtmlService.createTemplateFromFile('addUi');return html.evaluate().getContent();}
html文件addUi代码解决了我的问题!通过在创建对话框时删除.setHeight(),滚动条会自动显示并正常工作。现在,我想增加对话框的高度并进行滚动。好的。我只是想弄清楚这是一个应用程序脚本问题,还是一个HTML问题。两者都有可能。你能用少量非常基本的HTML重现这个问题吗?我将你的代码复制并粘贴到应用程序脚本中,看看是否能找到问题,但我需要自己创建一些HTML来测试你的代码,我不知道我创建的HTML是否对我有帮助。