2012-06-22 28 views
0

ClientHandler不支持Datebox嗎?GAS ClientHandler和Dateboxes

此代碼給我錯誤 「無法找到方法SetValue(對象)」:

VAR dateTimeNowHandler = app.createClientHandler() .forTargets(app.getElementById( 'DateCompleted'))的setValue(新日期( ));

有什麼我錯過了嗎?

感謝

回答

0

如果您發現,客戶端處理器的的setValue()函數接受一個布爾值作爲參數,而DateBox的setValue方法接受一個日期作爲參數。 setValue()函數用於小部件,如複選框

因此,您的代碼將無法工作。

的文件也說

方法SetValue(值)

一項指令,設置該處理器針對的是小部件的布爾值。

如果目標小部件不支持設置布爾值,則會失敗。

+0

好的,你說得對。使用ClientHandler處理DateBox的任何解決方法? – sabansm

+0

這是什麼目的?你想提供一些細節嗎?它是否必須顯示今天的日期?是日期框或其他地方的處理程序? –

+0

它可以顯示今天的日期,也可能顯示另一個日期。處理程序在另一個小部件上,一個按鈕。 謝謝Serge。 – sabansm

0

可能的解決方法可以是使用2個dateBoxes,一個visible和其他invisible,兩者在相同面板上。按鈕上的客戶端處理程序(如您所說的那樣)可能觸發可見/不可見的cylcle。我的每個案例中只有其中一個可見,他們將佔據你Ui中的相同位置。 第一個可能有一些預設值,第二個預設值(或留空)。

要做的唯一棘手的事情是事後正確處理這兩個值,即選擇正確的一個獲得有用的價值......因爲我不知道這最後的目的,我不能再進一步我的建議(這實際上只是一個建議:-)。

編輯:如果你使用這個建議,你可以看看at this post,它提供了一個很好的方法來知道e.parameter來自哪裏......我只是沒有想到它!