Grid for React
React version of this topic (compatible with React 19+). Keep the same configuration logic from JavaScript and pass it as component props.
What this topic covers: practical setup, the framework-specific API access pattern, and copy-adapt guidance for the examples in this page.
import React, { useMemo, useRef } from 'react';
import { Grid } from 'smart-webcomponents-react/grid';
import 'smart-webcomponents-react/source/styles/smart.default.css';
export default function App() {
const componentRef = useRef(null);
const componentProps = useMemo(() => ({
// Copy this topic's JavaScript configuration here.
}), []);
return <Grid ref={componentRef} {...componentProps}></Grid>;
}
Use componentRef.current for API methods in this topic.
Build your web apps using Smart UI
Smart.Grid - Select Rows Based on Certain Condition
Select Grid Rows Based on Certain Condition
Rows in Smart.Grid component can be selected initially based on certain condition. To be able to select multiple rows, selection.enabled and selection.allowRowSelection have to be set to true; moreover, selection.mode has to be set to 'many' or 'extended'.
The recommended way to manipulate rows initially, including their selection, is in the Grid's onRowInit callback function, which is called once for each row when it is initializing.
Here are three sample implementations of onRowInit showing how to select Grid rows based on different conditions:
Select Rows Depending on Index
The following code selects all rows with even indexes:
onRowInit(index: number, row: GridRow) {
if (index % 2 === 0) {
row.selected = true;
}
}
Select All Rows Depending on Cell Value
The following code selects all rows whose Quantity cells have value greater than 5:
onRowInit(index: number, row: GridRow) {
if (row.data.quantity > 5) {
row.selected = true;
}
}
Select All Rows Based on Complex Condition
onRowInit(index: number, row: GridRow) {
if (index >= 10 && index <= 20 && (row.data.lastName === 'Fuller' || row.data.price > 20)) {
row.selected = true;
}
}
For AI tooling
Developer Quick Reference
Topic: grid-conditional-row-select Component: Grid Framework: React
Main methods: (none detected)
Common config keys: (none detected)
Implementation Notes
Compatibility: React 19+ API access pattern: const componentRef = useRef(null) + componentRef.current.method()
Lifecycle guidance: Use useMemo for large config objects and call imperative API through componentRef.current after first render.
Common pitfalls:
- Recreating columns/dataSource objects on every render can reset component state.
- Calling API methods before ref is available causes runtime errors.
- Mixing controlled and imperative updates without sync can lead to stale UI.
Validation checklist:
- Keep config objects memoized when possible.
- Guard API calls with ref existence checks.
- Verify CSS theme import is present once per app.