ExtJS 6.5.3 and older versions has a bug. If you are using ‘Ext.grid.plugin.RowExpander’ plugin, the expanded rows will be collapsed after grid’s store reload/sort, on any refresh of the grid view.

You can fix it using the following override of the ‘Ext.grid.Row’ class. New logic is based on store’s records ids, so in case of the auto-generated ids (not server side constant ids) the fix may work incorrect. Looks like the same problem was in the older versions ExtJS Modern.

And the working fiddle sample: