2014-06-12 30 views
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 
} 

预先感谢您的帮助

回答

0

回报应用; //你不知道该做什么

+0

哇,除了那个之外,我们必须尝试每种组合。谢谢您的帮助 – user3735009