在Google表单的Google-apps-script中循环setRows

时间:2017-01-15 14:10:30

标签: javascript google-apps-script google-form

在Google表单的上下文中,使用Google应用脚本,我正在尝试创建一种网格多选类型。 我正在使用以下代码来循环行 - 目的是在行上记录学生的滚动数量,在列中记录他们的成绩: 代码:

function myFunction() {
  var form = FormApp.create('Peer_Grading_');
  var name = form.addTextItem();
  name.setTitle('Your Name');
  var rnum=form.addTextItem();
  rnum.setTitle('Your Roll Number');
  var item = form.addGridItem()

  item.setTitle('Grade Matrix')
  for(var i=1; i<=30; i=i+1){

    if(i<10){
      item.setRows(['16633000'+i])

    }
    else{
      item.setRows(['1663300'+i])

    }
  };
  item.setColumns(['AA', 'AB', 'BB', 'BC', 'CC', 'CD']);
}

但我将此屏幕截图作为输出:this post

只有最后一个卷号作为for循环的输出。

1 个答案:

答案 0 :(得分:0)

看起来你正在覆盖循环中的行。尝试使用数组,然后在循环中推送数据:

function myFunctionForm() {
  var form = FormApp.create('Peer_Grading_');
  var name = form.addTextItem();
  name.setTitle('Your Name');
  var rnum=form.addTextItem();
  rnum.setTitle('Your Roll Number');
  var item = form.addGridItem()

  var rowArr = []

  item.setTitle('Grade Matrix')
  for(var i=1; i<=30; i=i+1){

    if(i<10){
  rowArr.push('16633000'+i)

    }
    else{
    rowArr.push(['1663300'+i])

    }
  };
   item.setColumns(['AA', 'AB', 'BB', 'BC', 'CC', 'CD']);
  item.setRows(rowArr);

}