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