我想知道如何在我的Google Apps脚本代码中添加滚动条,以便滚动对话框中的项目列表。
我的代码的补充工具栏方法(除了showModalDialog与showSidebar相同)是滚动,但是Dialog方法没有。
我尝试过添加overflow:auto;和溢出:滚动;基本上我可以找到的所有div,没有结果(虽然GAS中的iFrame应该已经设置为auto?)。
我能找到的与Apps脚本,对话框和滚动条有关的唯一信息是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');
}
这是滚动条版本的样子: Sidebar
这是对话框版本的样子: Dialog
希望它可以在对话框中完成,因为我更喜欢列表采用自定义尺寸的弹出式样式,而不是压缩到侧边栏
提前致谢!
答案 0 :(得分:0)
“要调整已打开的对话框的大小,请在客户端代码中调用google.script.host.setWidth(width)。”
答案 1 :(得分:0)
解决了我的问题!通过在创建对话框时删除.setHeight(),滚动条会自动显示并正常工作。