2014-06-12 33 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