Scroll 如何将滚动条添加到气体模式对话框?

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

我想知道如何在我的GoogleApps脚本代码中添加一个滚动条,以便在对话框中滚动我的项目列表

我的代码的边栏方法(除了showModalDialog和showSidebar之外完全相同)不会滚动,但对话框方法不会

我尝试添加溢出:自动;和溢出:滚动;基本上我能找到的每个div都没有结果(虽然GAS中的iFrame应该已经设置为auto?)

我能找到的关于应用程序脚本、对话框和滚动条的唯一信息是app.createScrollPanel,它在去年被弃用

以下是我正在使用的代码:

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是否对我有帮助。