情景 表单1:添加客户信息并保存在mySQL数据库中。
表单2:添加发票并选择从表单1添加的客户。需要使用Combobox来选择客户。
需要相同的建议或代码段。
注意:基于使用Google表单,我似乎无法在表单视图中更新Combobox。
先谢谢。
答案 0 :(得分:0)
以下是使用电子表格中的工作表名称填充下拉Google表单列表的示例。您可以轻松地遍历包含客户名称的数据列并执行相同的操作。
守则:
function editingASimpleForm()
{
var ss=SpreadsheetApp.openById('1bNqs3YeALOsIzMqnTg6SfK-7mHNcPZQ0ZuC81ee3LRU')
var allShts=ss.getSheets();
var excShts=['Form Responses 4'];
var incShts=[];
var form=FormApp.getActiveForm();
var s=Utilities.formatString('Form name is <strong>%s</strong> and id is <strong>%s</strong>', form.getTitle(),form.getId());
var allItems=form.getItems();
/*
for(var i=0;i<allItems.length;i++)
{
s+=Utilities.formatString('<br />Title: <strong>%s</strong> Type <strong>%s</strong> Id: <strong>%s</strong> Index: <strong>%s</strong>', allItems[i].getTitle(),allItems[i].getType(),allItems[i].getId(),allItems[i].getIndex())
}
*/
for(var i=0;i<allItems.length;i++)
{
var itm=allItems[i];
if(itm.getId()=='405225448')//I got this id from the above commented out code which outputs title,type,id and index
{
var li0=itm;
}
}
for(var i=0;i<allShts.length;i++)//this loop gets the non excluded sheet names into an array
{
if(excShts.indexOf(allShts[i].getName())==-1)
{
incShts.push(allShts[i].getName());
}
}
li0.asListItem().setChoiceValues(incShts);//This populates the list
/*
var ui=HtmlService.createHtmlOutput(s).setWidth(1200).setHeight(450);
FormApp.getUi().showModalDialog(ui, 'Form Editing');
*/
}
我希望这会有所帮助。如果我误解了这些问题,请告诉我。