0
我在使用showModalDialog传入刚刚创建的应用程序中的工作表上显示一个用户界面。我还设置了一个带有服务器处理程序的按钮。当调用服务器处理程序函数时,我尝试再次使用“UiApp.getActiveApplication()”获取应用程序来隐藏某些元素并显示一些不同的元素,但是这些更改未反映出来。在该方法结束时,我试图关闭应用程序,并显示一个新的模式对话框,我试图返回应用程序,我试图什么也没做,似乎没有任何工作。通过模态对话框使用服务器处理程序
我不能发布我的整个代码,因为它很长,所以我做了一个非常简单的版本,以获得重点。当我在testHandler()中放入一些日志语句时,它证明代码正在运行。
function test() {
var app = UiApp.createApplication().setHeight(700).setWidth(1500);
var label = app.createLabel("Hi").setId("label");
var label2 = app.createLabel("GoodBye").setId("label2").setVisible(false);
var button = app.createButton("Press Me").setId("button");
app.add(label);
app.add(label2);
app.add(button);
var testHandler = app.createServerHandler('testHandler');
testHandler.addCallbackElement(label);
testHandler.addCallbackElement(label2);
button.addClickHandler(testHandler);
SpreadsheetApp.getUi().showModalDialog(app, 'Test');
}
function testHandler() {
var app = UiApp.getActiveApplication();
app.getElementById('label').setVisible(false);
app.getElementById('label2').setVisible(true);
// Not sure what to do now
}
预先感谢您的帮助
哇,除了那个之外,我们必须尝试每种组合。谢谢您的帮助 – user3735009