strange dbadvgrid behavior

Hello everyone
I have a big problem with using the filter method and the grid. 
Until now I used Ado but since I entered Firedac and the updates 
of type CacheUpdates the anomaly showed up .. Here it is, 
When I apply the filter method of the query inside the 
grid the following events are triggered: 
TDBAdvGrid. DataChange and SetDataSetType
What creates problems is the fact that as seen from the code

if FFilteredDataSet <> FDataLink.DataSet.Filtered then
   begin
     if FDataLink.DataSet.Filtered then
     begin
       if (DataSetType = dtSequenced) then
       begin
         FOldDataSetType: = DataSetType;
         DataSetType: = dtNonSequenced;

the DataSetType is set which closes the dataset 
and re-opens it LOSING the changes in progress. 

procedure TDBAdvGrid.SetDataSetType(const Value: TDataSetType);
begin
  if Value <> FDataSetType then
  begin
    FDataSetType := Value;
    if CheckDataSet then
    begin
      FDataLink.DataSet.Active := false;
      FDataLink.DataSet.Active := true;
    end;
  end;
end;

With ado it was not a problem .. 
but with FDQUERY I have to apply ApplyUpdates 
first if I do not want to lose the changes. 
Why is the data set closed and reopened by changing the filters? 
Thank you

Please set grid.DataSetType = dtNonSequenced all the time. A filtered dataset is typically non sequenced. This way, the grid.DatasetType will never change and you will not have a dataset close & open.