Skip to main content

Controlling the grid from parent

You can control the grid from a parent component using a ref:

import {  DataSheetGrid,  DataSheetGridRef,} from 'react-datasheet-grid'
function App() {  const ref = useRef<DataSheetGridRef>(null)
  return <DataSheetGrid ref={ref} />}

You can then use that ref to control the grid from any callback.

function App() {  const ref = useRef<DataSheetGridRef>(null)
  useEffect(() => {    ref.current?.setSelection({      min: { col: 'firstName', row: 0 },      max: { col: 2, row: 3 },    })  }, [])
  return (    <>      <DataSheetGrid ref={ref} />      <button onClick={() => ref.current?.setActiveCell({ col: 1, row: 0 })} />    </>  )}

Reference#

See the exhaustive list of properties available.

Example#

Hover an element to trigger it:

ref.current?.setActiveCell({ col: 1, row: 3 })ref.current?.setActiveCell({ col: 'lastName', row: 1 })ref.current?.setSelection({ min: { col: 'active', row: 1 }, max: { col: 1, row: 4 }})ref.current?.setSelection(null)
Active
First name
Last name
Number
1
2
3
4
5
6
7
8
9
10
rows