Google apps script 移除StackPanel中的元素

Google apps script 移除StackPanel中的元素,google-apps-script,Google Apps Script,全部, 我试图实现一个包含多个子面板的StackPanel来收集用户数据。每个子面板(我把它们命名为SwapRecordPanels)代表谷歌电子表格中的一行,其中包含两个人的数据,他们想交换他们工作的日期。SwapRecordPanel包含一个删除按钮。单击delete按钮后,我希望SwapRecordPanel将自己从StackPanel中移除 但是,我发现当我试图从StackPanel中删除一个元素时,更改不会在GUI中注册。为了证明我可以删除StackPanel中的元素,我添加了一个名为

全部,

我试图实现一个包含多个子面板的StackPanel来收集用户数据。每个子面板(我把它们命名为SwapRecordPanels)代表谷歌电子表格中的一行,其中包含两个人的数据,他们想交换他们工作的日期。SwapRecordPanel包含一个删除按钮。单击delete按钮后,我希望SwapRecordPanel将自己从StackPanel中移除

但是,我发现当我试图从StackPanel中删除一个元素时,更改不会在GUI中注册。为了证明我可以删除StackPanel中的元素,我添加了一个名为“单击我”的额外按钮。正如您在下面的代码中看到的,它的处理程序试图从StackPanel“LeftPanel”中删除一个元素。但是,当我单击按钮时,“LeftPanel”保持不变。我想知道是否需要调用某种刷新/重新绘制方法来更新GUI。如果没有,有人能提供一些建议吗?任何帮助都将不胜感激

function myViewer() {
  var myapp = doGet();
  SpreadsheetApp.getActive().show(myapp)
}

function doGet() {
  var myapp = UiApp.createApplication();

  var LeftPanel = myapp.createStackPanel().setId("LeftPanel");
  var LeftScrollPanel = myapp.createScrollPanel(LeftPanel).setPixelSize(410,200)
  myapp.add(LeftScrollPanel)

  var SwapPane1 = SwapRecordPanel(LeftPanel);
  var SwapPane2 = SwapRecordPanel(LeftPanel);
  LeftPanel.add(SwapPane1,"Test 1 Header");
  LeftPanel.add(SwapPane2, "Test 2 Header");

  var myButton = myapp.createButton("Click    Me").addClickHandler(myapp.createServerHandler("ButtonClicker"));
  myapp.add(myButton);

  return myapp;
}

function ButtonClicker()
{
  Logger.log("I was clicked")
  var myapp = UiApp.getActiveApplication();
  var LeftPanel = myapp.getElementById("LeftPanel");
  LeftPanel.remove(myapp.getElementById("panel1"));
}
您必须从handler函数“返回”对应用程序的更改,以便更新UI


只需添加
returnmyapp
按钮链接()的末尾。
有什么新闻吗。?你解决问题了吗?是的。成功了。非常感谢你。