2012-05-23 38 views
2

我在Google Apps腳本中首次實現了treeView,並且遇到了一些麻煩。確定在Google Apps腳本樹中選擇了哪個TreeItem

選擇treeItem

tree.addSelectionHandler(app.createServerSelectionHandler("restClick")); 

我期待能夠識別在處理程序

function restClick(e) { 
    var app = UiApp.getActiveApplication(); 
    Logger.log(e.parameter.source); 
    var tree = app.getElementById(e.parameter.source); 
    Logger.log(tree.getId()); 
    return app; 
} 

上面的代碼所選擇的項目時,該處理程序被解僱確定正確地識別樹對象 - 但我不知道如何獲得selectedItem - 沒有適當的方法,如getSelectedItem(),沒有有用的屬性(e),可以幫助

謝謝。

回答

4

這是known issue。你應該關注這個問題並跟蹤這個問題,以跟蹤更新和投票的種類。在問題評論中,有一種解決方法有點麻煩,如果這對你來說真的很重要。

「樹對象」應該像Apps腳本上的所有其他小部件一樣工作,有一個setName方法,我們可以在此處理處理程序事件參數項目名稱或索引(在將樹添加爲處理程序中的回調元素後,使用例如:)

tree.setName('mytree').addSelectionHandler(app.createServerSelectionHandler("restClick"). 
    addCallbackElement(tree)); 

但是,這是行不通的,正如錯誤報告中所述。

+0

Henrique,感謝您的快速評論。但是,樹對象奇怪地沒有setName()方法 - https://developers.google.com/apps-script/class_tree。 – bruce

+0

你說得對,沒有'setName'方法。然後再搜索一下,我發現無法得到像這樣的選定項目。我已經更新了我的答案。 –

+0

恩裏克,謝謝你指點我那個錯誤報告。我看了一下解決方法,但我不認爲這種方法適用於我。我會等待,直到它被修復。再次感謝你。 Bruce – bruce