Grid Conditional Row Selection

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;
    }
}