Class GridItem

  • GridItem is a question item in a form presented as a grid, allowing one choice per row from radio buttons.

  • GridItems can be accessed or created from a Form.

  • Key methods include setting and getting columns and rows, setting and getting the title and help text, setting and getting the required status, and clearing or setting validation.

  • Additional methods allow creating a response for the grid item and duplicating the item.

GridItem

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

// Open a form by ID and add a new grid item.constform=FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');constitem=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 newItemResponse 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 likeImageItems,PageBreakItems, andSectionHeaderItems).
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 aSectionHeaderItem).
getType()ItemTypeGets the item's type, represented as anItemType.
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 likeImageItems,PageBreakItems, andSectionHeaderItems).
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 aSectionHeaderItem).
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 followingscopes:

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

createResponse(responses)

Creates a newItemResponse for this grid item. The argumentresponses must be aString[] array containing as many values as the number of rows in the grid. Anull element for a non-required grid question indicates no response to that row. Throws anexception 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 followingscopes:

  • 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 thisGridItem, for chaining

Authorization

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

  • 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 followingscopes:

  • 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 likeImageItems,PageBreakItems, andSectionHeaderItems).

Return

String — the item's help text or description text

Authorization

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

  • 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 followingscopes:

  • 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 followingscopes:

  • 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 followingscopes:

  • 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 aSectionHeaderItem).

Return

String — the item's title or header text

Authorization

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

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

getType()

Gets the item's type, represented as anItemType.

Return

ItemType — the item's type

Authorization

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

  • 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 followingscopes:

  • 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 givenarray 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 isnull or empty

Authorization

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

  • 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 likeImageItems,PageBreakItems, andSectionHeaderItems).

Parameters

NameTypeDescription
textStringthe new help text

Return

GridItem — thisGridItem, for chaining

Authorization

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

  • 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 followingscopes:

  • 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 arrayis 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 isnull or empty

Authorization

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

  • 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 aSectionHeaderItem).

Parameters

NameTypeDescription
titleStringthe new title or header text

Return

GridItem — thisGridItem, for chaining

Authorization

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

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

setValidation(validation)

Sets the data validation for this grid item. Passing innull or aGridValidation instance on which no require functions have been called removes any priorvalidation.

Parameters

NameTypeDescription
validationGridValidationa GridValidation to apply to this item.

Return

GridItem — thisGridItem, for chaining

Authorization

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

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

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-09-29 UTC.