Posted 7 January 2020, 9:19 am EST
Good morning/afternoon
I’m currently experimenting an issue which I can’t debug as no errors are being logged.
I’ve a spreadsheet instance (Workbook) with one sheet.
The sheet has data injected via setDataSource method and has some manipulations like:
- custom event bindings (SelectionChanged/CellChanged/ EditChange etc…)
- custom commands (to enable F2 shortcut)
- custom headers text (to change the first row back to A,B,C rather than the key coming from the setDataSource)
Between the initialization of the spreadsheet instance I also set up a filter section which has the following steps:
const totalRows = this.activeSheet.getRowCount() - this.metrixCount - 1
const totalCols = this.activeSheet.getColumnCount()
const range = new GC.Spread.Sheets.Range(1, 0, totalRows, totalCols)
const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range)
this.activeSheet.rowFilter(rowFilter)
rowFilter.filterButtonVisible(0, true)
metrixCount is a number of stats that I generate and plunk within the sheet (imagine 3 rows at the very end for avg/min/max)
As soon as I apply this filter block the sheet shows the filters as expected, however as soon as I start using them the selection screws up…
I’ve tried spamming the codebase with suspendPaint, suspendCalcService, suspendEvent, suspendDirty and related resume functions but I had no luck.
Strangely enough, the issue doesn’t happens as I filter via a custom UI (not the native context menu of SpreadJS)
Please look at the small attached video of the issue to understand better the issue
