> For the complete documentation index, see [llms.txt](https://docs.rowsncolumns.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rowsncolumns.app/configuration/components/tableeditor.md).

# TableEditor

A table editor dialog to edit name, range and other options of a table

<figure><img src="https://67932947-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHWsslZpYESUXxPccoyig%2Fuploads%2Fgit-blob-7462ef875562bad9ada92755f8ed4b47264835df%2Fimage.png?alt=media" alt=""><figcaption><p>Brings up a table editor</p></figcaption></figure>

<pre class="language-tsx" data-overflow="wrap"><code class="lang-tsx">import { CanvasGrid, DeleteSheetConfirmation } from "@rowsncolumns/spreadsheet"
import { useSpreadsheetState } from "@rowsncolumns/spreadsheet-state"

const App = () => {
  const activeSheetId = 1
<strong>  const { onUpdateTable, onRequestEditTable, getSheetName } = useSpreadsheetState({
</strong>    ...
  })
  return (
    &#x3C;>
      &#x3C;button onClick={() => {
        onRequestEditTable(table)
      }>Edit table&#x3C;/button>
      &#x3C;CanvasGrid />
      &#x3C;TableEditor
        sheetId={activeSheetId}
        rowCount={rowCount}
        columnCount={columnCount}
        getSheetName={getSheetName}
        onSubmit={onUpdateTable}
      />
    &#x3C;/>
  )
}
</code></pre>
