User interface FormPanel类:如何添加文本框名称(不在其内部,而是在左侧)并对按钮进行排序?

User interface FormPanel类:如何添加文本框名称(不在其内部,而是在左侧)并对按钮进行排序?,user-interface,google-apps-script,User Interface,Google Apps Script,我创建此google应用程序脚本formPanel: 使用此代码: function getClemencyParameters() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var app = UiApp.createApplication(); var form = app.createFormPanel().setTitle("My text box visible title"); va

我创建此google应用程序脚本formPanel:

使用此代码:

function getClemencyParameters() {
   var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
   var app = UiApp.createApplication();
   var form = app.createFormPanel().setTitle("My text box visible title");
   var flow = app.createFlowPanel();
   flow.add(app.createTextBox().setName("textBox").setText("SetText"));
   flow.add(app.createTextBox().setName("textBox2").setTitle("SetTitle"));
   flow.add(app.createTextBox().setName("textBox3"));
   flow.add(app.createTextBox().setName("textBox4"));  
   flow.add(app.createListBox().setName("listBox").addItem("option 1").addItem("option 2"));
   flow.add(app.createListBox().setName("listBox").addItem("option 1").addItem("option 2"));
   flow.add(app.createListBox().setName("listBox").addItem("option 1").addItem("option 2"));
   flow.add(app.createSubmitButton("Submit"));
   form.add(flow);
   app.add(form);

   spreadsheet.show(app);
 }

但是我想在每个文本框的左侧放置一个标签(它没有方法
createLabel
),并将每个文本框放置在另一个文本框的下方。如何添加文本框名称(不在其内部,而是在左侧)并对按钮进行排序?(在textBox和formPanel类文档中,我没有找到任何内容)

选择使用垂直和水平面板是否是您可以接受的解决方案,或者是否有任何特殊原因不这样做?
如果不是,这里有一个简单的解决方案:

function doGet(){
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel(); // you can embed that in a form panel

  var qZeroPanel = app.createHorizontalPanel();
  var txt = app.createTextBox().setId("qZero").setName("qZero").setValue("test");
  qZeroPanel.add(app.createLabel("question zero':")).add(txt);

  var qOnePanel = app.createHorizontalPanel();
  qOnePanel.add(app.createLabel("question one:")).
  add(app.createListBox().
      addItem("anwser 1").
      addItem("answer 2").
      addItem("answer 3").
      setName("qOne"));
  var qTwoPanel = app.createHorizontalPanel();
  qTwoPanel.add(app.createLabel("question two:")).add(app.createListBox().addItem("anwser 1").addItem("answer 2").addItem("answer 3").setName("qTwo"));

  var handlerBut = app.createServerHandler("butAnswer").addCallbackElement(panel);
  var but = app.createButton("submit").setId("submitButton").addClickHandler(handlerBut);
  panel.add(qZeroPanel).add(qOnePanel).add(qTwoPanel).add(but).add(app.createLabel().setId("answer"));
  app.add(panel);
  return(app);
}

function butAnswer(e){
  var qOne = e.parameter.qOne;
  var qZero = e.parameter.qZero;
  var qTwo = e.parameter.qTwo;
  var app = UiApp.getActiveApplication();
  app.getElementById("answer").setText("you entered: qZero: "+qZero+", qOne: "+qOne+", qTwo: "+qTwo);
  return(app);
}
希望它能帮助你,

Harold

使用flowpanel有什么特殊原因吗?为什么不是网格或柔性面板?没有特殊原因。你认为什么更合适@Sergeinsas,你能在触发问题上再给我一个提示吗?谢谢你,哈罗德!