【问题标题】:GAS - define listBox() displayed valueGAS - 定义 listBox() 显示值
【发布时间】:2014-04-07 09:10:22
【问题描述】:

我在 UiApp 中构建并显示了一个使用 listBox 类的表单。我的 listBoxes 如下例所示:

var yearText = app.createListBox().setName("yearText")
                  .addItem("")
                  .addItem("Reception")
                  .addItem("Nursery");

第一次加载表单时,它们默认显示空白(索引 0 处的值)。我想要做的是用存储的数据重新加载表单,用它保存的值填充列表框,同时仍然提供与上面相同的选项(空白、接待处、托儿所)。

我已经尝试使用 listBox 类可用的各种 setValue 方法,但我没有取得任何进展(setValue 的变体对于其他地方的 textAreacheckBoxdateBox 类都可以正常工作在表格中)。感谢您提供任何帮助或指导!

【问题讨论】:

    标签: google-apps-script listbox


    【解决方案1】:

    方法是setItemSelected(index,Boolean),下面的例子

    function doGet(){
      var app = UiApp.createApplication();
      var list = app.createListBox().addItem('').addItem('v2').addItem('v3').addItem('v4').setItemSelected(2,true);
      app.add(list);
      return app;
    }
    

    或者:setSelectedIndex(index)(文档的相同链接

    下面的例子

    function doGet(){
      var app = UiApp.createApplication();
      var list = app.createListBox().addItem('').addItem('v2').addItem('v3').addItem('v4').setSelectedIndex(2);
      app.add(list);
      return app;
    }
    

    【讨论】:

    • 谢谢谢尔盖!正如您从我的示例中看到的那样,我没有指定索引位置,也不知道如何以与执行值相同的方式将其提取出来(var yearTextValue = e.parameter.yearText),但现在您让我走上了正确的轨道我'我确定我会到达那里。我很懒惰,希望我不必过多地返工......
    • 发现了这个:stackoverflow.com/questions/11804081/… 并将使用这种方法:-[]
    • 我没有发现您还需要获取 listBox 值,对此感到抱歉。不要忘记您可以在 addItem 中使用 2 个值:一个“显示值”和一个“返回值”,如果您使用数字作为返回值,则此数字可以是索引值本身,因此更易于用于 setSelectedIndex。我看不清楚您的整个数据流是什么,所以也许我不在主题……如果是这样,请随时提供更多信息。 (同时感谢接受 ;-)
    猜你喜欢
    • 1970-01-01
    • 2010-12-24
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多