确定在Google Apps脚本树中选择了哪个TreeItem

时间:2012-05-23 14:58:18

标签: tree google-apps-script

我第一次在Google Apps脚本中实现了一个treeView并遇到了麻烦。

选择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)的有用属性可以帮助

谢谢。

1 个答案:

答案 0 :(得分:4)

这是known issue。您应该点击链接并为此问题加注星标以跟踪更新和投票类型。关于问题评论,如果这对您来说非常重要,那么可以解释一些有点麻烦的解决方法。

“树对象”应该像Apps脚本上的所有其他小部件一样工作,具有setName方法,我们可以在其中获取处理程序事件参数项目名称或索引(在将树添加为回调元素之后)处理程序使用addCallbackElement)例如

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

但是这不起作用,正如错误报告中所告知的那样。