ReactGrid component has two essential properties which you must pass in properties to render - columns and rows.
Definition
interface ReactGridProps {
    readonly columns: Column[];
    readonly rows: Row<Cell>[];
    readonly customCellTemplates?: CellTemplates;
    readonly focusLocation?: CellLocation;
    readonly initialFocusLocation?: CellLocation;
    readonly highlights?: Highlight[];
    readonly stickyTopRows?: number;
    readonly stickyBottomRows?: number;
    readonly stickyLeftColumns?: number;
    readonly stickyRightColumns?: number;
    readonly enableFillHandle?: boolean;
    readonly enableRangeSelection?: boolean;
    readonly enableRowSelection?: boolean;
    readonly enableColumnSelection?: boolean;
    readonly labels?: TextLabels;
    readonly enableFullWidthHeader?: boolean;
    readonly enableGroupIdRender?: boolean;
    readonly horizontalStickyBreakpoint?: number;
    readonly verticalStickyBreakpoint?: number;
 
 
    readonly onCellsChanged?: (cellChanges: CellChange[]) => void;
    readonly onFocusLocationChanged?: (location: CellLocation) => void;
    readonly onFocusLocationChanging?: (location: CellLocation) => boolean;
    readonly onColumnResized?: (columnId: Id, width: number, selectedColIds: Id[]) => void;
    readonly onRowsReordered?: (targetRowId: Id, rowIds: Id[], dropPosition: DropPosition) => void;
    readonly onColumnsReordered?: (targetColumnId: Id, columnIds: Id[], dropPosition: DropPosition) => void;
    readonly onContextMenu?: (selectedRowIds: Id[], selectedColIds: Id[], selectionMode: SelectionMode, menuOptions: MenuOption[], selectedRanges: Array<CellLocation[]>) => MenuOption[];
    readonly canReorderColumns?: (targetColumnId: Id, columnIds: Id[], dropPosition: DropPosition) => boolean;
    readonly canReorderRows?: (targetRowId: Id, rowIds: Id[], dropPosition: DropPosition) => boolean;
}Properties
| Name | Type | Description | 
|---|---|---|
| columns | Columns[] | Column's data | 
| rows | Rows<Cell>[] | Row's data | 
| customCellTemplates? | CellTemplates | Set of available custom cell templates | 
| focusLocation? | CellLocation | Focus position (managed constantly by outer app) | 
| initialFocusLocation? | CellLocation | Initial position of focus | 
| highlights? | Highlight[] | Array of highlight positions | 
| stickyTopRows? | number | Amount of rows which are sticky at the top | 
| stickyBottomRows? | number | Amount of rows which are sticky at the bottom | 
| stickyLeftColumns? | number | Amount of columns which are sticky on the left side | 
| stickyRightColumns? | number | Amount of columns which are sticky on the right side | 
| enableFillHandle? | boolean | Set trueto enable cell fill feature (by defaultfalse) | 
| enableRangeSelection? | boolean | Set trueto enable selection feature (by defaultfalse) | 
| enableRowSelection? | boolean | Set trueto enable row selection feature (by defaultfalse) | 
| enableColumnSelection? | boolean | Set trueto enable column selection feature (by defaultfalse) | 
| labels? | TextLabels | Object that contains labels of texts used by ReactGrid | 
| enableFullWidthHeader? | boolean | Set trueto enable full width header (by defaultfalse, feature is experimental) | 
| enableGroupIdRender? | boolean | Set trueto enable groupId element rendering (by defaultfalse) | 
| readonly horizontalStickyBreakpoint? | number | Horizontal breakpoint in percents (%) of ReactGrid scrollable parent element width. Disables sticky when the sum of the sizes of sticky panes overflows given breakpoint value (by default 50) | 
| verticalStickyBreakpoint? | number | Vertical breakpoint in percents (%) of ReactGrid scrollable parent element height. Disables sticky when the sum of the sizes of sticky panes overflows given breakpoint value (by default 50) | 
Callbacks
| Name | Type | Description | 
|---|---|---|
| onCellsChanged? | (cellChanges: CellChange[]) => void; | Called when cell property (e.g. value) was changed | 
| onFocusLocationChanged? | (location: CellLocation) => void; | Focus position has been changed | 
| onFocusLocationChanging? | (location: CellLocation) => boolean; | Called when trying to change focus location. Return falseto prevent position changing | 
| onColumnResized? | (columnId: Id, dropPosition: DropPosition) => void; | Callback called when column resize action was ended | 
| onRowsReordered? | (targetRowId: Id, rowIds: Id[], dropPosition: DropPosition) => void; | Callback called when row reorder action was ended | 
| onColumnsReordered? | (targetColumnId: Id, columnIds: Id[], dropPosition: DropPosition) => void; | Callback called when column reorder action was ended | 
| onContextMenu? | (selectedRowIds: Id[], selectedColIds: Id[], selectionMode: SelectionMode, menuOptions: MenuOption[], selectedRanges: Array<CellLocation[]>) => MenuOption[]; | Called when user opens context menu inside grid, used to compose own menu options | 
| canReorderColumns? | (targetColumnId: Id, columnIds: Id[], dropPosition: DropPosition) => boolean; | Allow or not to change specific columns order | 
| canReorderRows? | (targetRowId: Id, rowIds: Id[], dropPosition: DropPosition) => boolean; | Allow or not to change specific rows order |