Local Data Operations
The KendoKendoReact Data Grid enables you to page, filter, sort and group the data locally, or utilize its built-in data-processing mechanism:
Manual Data Operations
To setup local data operations:
-
Set a value inside the state that will hold the current paging, filtering, sorting and grouping parameters. Not all are required, only the ones used in the Grid instance.
jsxconst initialDataState: State = { sort: [{ field: "code", dir: "asc" }], take: 10, skip: 0, group: [{ field: "CategoryID" }] }; ... const [dataState, setDataState] = React.useState<State>(initialDataState); -
Pass the current data state to the Grid.
jsx<Grid {...dataState} -
Use the
onDataStateChangeevent to handle all data operations from a single place. The event data provides the combined state of the Grid including paging, sorting, filtering and grouping parameters. With server operations, these parameters can be sent to the server to process the data there.jsxonDataStateChange={(e: GridDataStateChangeEvent) => { setDataState(e.dataState); setDataResult(process(products, e.dataState)); }} -
Use the
processmethod of theDataQuerylibrary which will automatically process the data based on the current data state.jsxconst [dataResult, setDataResult] = React.useState<DataResult>(process(products, dataState)); ... <Grid data={dataResult}
The following example shows the Grid with paging, sorting and filtering enabled:
When the data state from the onDataStateChange event or the initial state is set to the Grid, no further values for skip, take, filter, sort or group should be added, because they will already be included in the State. When the data property of the Grid is populated through the process helper method, the total property should not be set manually, because it will be part of the returned object.
Auto-Processing the Data
The KendoReact Data Grid provides a mechanism to enable built-in data-processing which takes care of the filter, sort, page and group operations internally. To enable this feature, set the autoProcessData property to true.
<Grid data={products} autoProcessData={true} />