pluto_grid icon indicating copy to clipboard operation
pluto_grid copied to clipboard

Filter by code

Open JesusMayuri7 opened this issue 4 years ago • 3 comments

Congratulations on the great work.

One question, can you filter by code from outside the grid?

JesusMayuri7 avatar Dec 20 '20 00:12 JesusMayuri7

PlutoStateManager stateManager;

`PlutoGrid( columns: myData.columns, rows: myData.rows, onLoaded: (PlutoOnLoadedEvent event) { stateManager = event.stateManager; }, ),

filter() { stateManager.setFilter((element) { // Number 2 is column return element.cells.entries.elementAt(2).value.value.contains('item2'); }); }

reset_filter() { stateManager.setFilter(null); } `

JesusMayuri7 avatar Dec 20 '20 14:12 JesusMayuri7

Well done. I will document the filter related things.

bosskmk avatar Dec 20 '20 15:12 bosskmk

PlutoStateManager stateManager;

`PlutoGrid( columns: myData.columns, rows: myData.rows, onLoaded: (PlutoOnLoadedEvent event) { stateManager = event.stateManager; }, ),

filter() { stateManager.setFilter((element) { // Number 2 is column return element.cells.entries.elementAt(2).value.value.contains('item2'); }); }

reset_filter() { stateManager.setFilter(null); } `

Based on JesusMayuri7's answer I have modified the code a little bit as per my usage. Thanks for your contribution.

_searchController.addListener(() { _plutoGridStateManager!.setFilter((element) { bool matched = element.cells.entries.any((obj) => obj.value.value .toString() .toLowerCase() .contains(_searchController.text.toLowerCase())); return matched; }); //This setState does not rebuild Table, as that requires a new key or change in key to be provided.// //But this will filter the data inside the table very efficiently. Really awesome plugin.// setState(() {}); });

aadi-github avatar Apr 01 '22 04:04 aadi-github

Is there a way to retrieve column index by its name? Something like: colIdx = ...; return element.cells.entries.elementAt(colIdx).value.value.contains('item2');

coda538 avatar Feb 19 '23 19:02 coda538

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar May 30 '23 11:05 github-actions[bot]

This issue was closed because it has been inactive for 14 days since being marked as stale.

github-actions[bot] avatar Jun 14 '23 11:06 github-actions[bot]