Class GridItem

GridItem

A question item, presented as a grid of columns and rows, that allows the respondent to select one choice per row from a sequence of radio buttons. Items can be accessed or created from a Form.

// Open a form by ID and add a new grid item.
const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
const item = form.addGridItem();
item.setTitle('Rate your interests')
    .setRows(['Cars', 'Computers', 'Celebrities'])
    .setColumns(['Boring', 'So-so', 'Interesting']);

Methods

MethodReturn typeBrief description
clearValidation()GridItemRemoves any data validation for this grid item.
createResponse(responses)ItemResponseCreates a new ItemResponse for this grid item.
duplicate()GridItemCreates a copy of this item and appends it to the end of the form.
getColumns()String[]Gets the values for every column in the grid.
getHelpText()StringGets the item's help text (sometimes called description text for layout items like ImageItems, PageBreakItems, and SectionHeaderItems).
getId()IntegerGets the item's unique identifier.
getIndex()IntegerGets the index of the item among all the items in the form.
getRows()String[]Gets the values for every row in the grid.
getTitle()StringGets the item's title (sometimes called header text, in the case of a SectionHeaderItem).
getType()ItemTypeGets the item's type, represented as an ItemType.
isRequired()BooleanDetermines whether the respondent must answer the question.
setColumns(columns)GridItemSets the columns of the grid based on an array of values.
setHelpText(text)GridItemSets the item's help text (sometimes called description text for layout items like ImageItems, PageBreakItems, and SectionHeaderItems).
setRequired(enabled)GridItemSets whether the respondent must answer the question.
setRows(rows)GridItemSets the rows of the grid based on an array of values.
setTitle(title)GridItemSets the item's title (sometimes called header text, in the case of a SectionHeaderItem).
setValidation(validation)GridItemSets the data validation for this grid item.

Detailed documentation

clearValidation()

Removes any data validation for this grid item.

Return

GridItem — this item, for chaining

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

createResponse(responses)

Creates a new ItemResponse for this grid item. The argument responses must be a String[] array containing as many values as the number of rows in the grid. A null element for a non-required grid question indicates no response to that row. Throws an exception if any of the values does not match a valid choice.

Parameters

NameTypeDescription
responsesString[]an array of valid answers for this grid item

Return

ItemResponse — the item response

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

duplicate()

Creates a copy of this item and appends it to the end of the form.

Return

GridItem — a duplicate of this GridItem, for chaining

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getColumns()

Gets the values for every column in the grid.

Return

String[] — an array of column values, which respondents see as labels when viewing the form

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getHelpText()

Gets the item's help text (sometimes called description text for layout items like ImageItems, PageBreakItems, and SectionHeaderItems).

Return

String — the item's help text or description text

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getId()

Gets the item's unique identifier.

Return

Integer — the item's ID

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getIndex()

Gets the index of the item among all the items in the form.

Return

Integer — the index of the item

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getRows()

Gets the values for every row in the grid.

Return

String[] — an array of row values, which respondents see as labels when viewing the form

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getTitle()

Gets the item's title (sometimes called header text, in the case of a SectionHeaderItem).

Return

String — the item's title or header text

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getType()

Gets the item's type, represented as an ItemType.

Return

ItemType — the item's type

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isRequired()

Determines whether the respondent must answer the question.

Return

Boolean — whether the respondent must answer the question

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setColumns(columns)

Sets the columns of the grid based on an array of values. Throws an exception if the given array is empty.

Parameters

NameTypeDescription
columnsString[]an array of column values, which respondents see as labels when viewing the form

Return

GridItem — this item, for chaining

Throws

Error — if the given array is null or empty

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setHelpText(text)

Sets the item's help text (sometimes called description text for layout items like ImageItems, PageBreakItems, and SectionHeaderItems).

Parameters

NameTypeDescription
textStringthe new help text

Return

GridItem — this GridItem, for chaining

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setRequired(enabled)

Sets whether the respondent must answer the question.

Parameters

NameTypeDescription
enabledBooleanwhether the respondent must answer the question

Return

GridItem — the current item (for chaining)

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setRows(rows)

Sets the rows of the grid based on an array of values. Throws an exception if the given array is empty.

Parameters

NameTypeDescription
rowsString[]an array of row values, which respondents see as labels when viewing the form

Return

GridItem — this item, for chaining

Throws

Error — if the given array is null or empty

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setTitle(title)

Sets the item's title (sometimes called header text, in the case of a SectionHeaderItem).

Parameters

NameTypeDescription
titleStringthe new title or header text

Return

GridItem — this GridItem, for chaining

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setValidation(validation)

Sets the data validation for this grid item. Passing in null or a validation without any require functions called will remove any prior validation.

Parameters

NameTypeDescription
validationGridValidationa GridValidation to apply to this item.

Return

GridItem — this GridItem, for chaining

Authorization

Scripts that use this method require authorization with one or more of the following scopes:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms