2012-05-23 2 views
2

Google Apps Script에서 처음으로 treeView를 구현 중이며 문제가 발생했습니다.Google Apps Script Tree에서 선택된 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; 
} 

위의 코드에서 선택한 항목을 식별 할 수 기다리고 있었다

를 선택할 때 확인을 발사 제대로 트리 객체를 식별됩니까 - 그러나 내가 선택한 항목을 얻는 방법을 알아낼 수 없다 - getSelectedItem()과 같은 적절한 메소드가없고 도움이되는 (e) 유용한 속성이 없다.

고맙습니다.

답변

4

이것은 known issue입니다. 당신은 링크를 따라 가야하고이 문제에 별표를 붙여서 업데이트 및 투표 종류를 추적해야합니다. 이 문제에 관해서는 이것이 정말로 중요한 경우 약간의 번거로운 해결 방법에 대한 설명이 있습니다.

"트리 개체"는 setName 메서드가있는 Apps Script의 다른 모든 위젯과 마찬가지로 작동해야합니다. 여기서는 처리기 이벤트 매개 변수 항목 이름이나 색인을 사용할 수 있습니다 (트리를 처리기에서 콜백 요소로 추가 한 후) 예)

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

그러나 이것은 버그 보고서에 통보 한대로 작동하지 않습니다.

+0

Henrique, 신속한 의견을 보내 주셔서 감사합니다. 그러나 트리 객체에는 이상하게도 setName() 메소드 (https://developers.google.com/apps-script/class_tree)가 없습니다. – bruce

+0

맞아,'setName' 메소드가 없다. 그리고 좀 더 검색하면 선택한 항목을 이와 같이 가져올 수 없다는 것을 알았습니다. 내 대답을 업데이트했습니다. –

+0

Henrique, 버그 보고서를 보내 주셔서 감사합니다. 해결 방법을 살펴 보았지만 그 방법이 저에게 효과적이라고 생각하지 않습니다. 고칠 때까지 기다릴께. 다시 감사합니다. Bruce – bruce