> 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

<figure><img src="/files/f6jBdIwkioi8QpseqndR" 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>
