Retaining table filtering on detail table in master/detail report [Rave]

Category

Rave - Data Connections

Question

When I set up a master/detail report, the filtering on the detail report is overwritten by Rave.

Solution

You can have the current table filtering appended to the filter generated by Rave by using the following:

type
 InvNeededSrc : TRPDataSetConnection;

var
 RptFilters : Array[1..100] of String;

procedure TMain.InvNeededSrcOpen(Connection: TRPCustomConnection);
begin
 RptFilters[InvNeededSrc.DataSet.Tag] := InvNeededSrc.DataSet.Filter;
end;

procedure TMain.InvNeededSrcSetFilter(
  Connection: TRPCustomConnection);
begin
 InvNeededSrc.DoSetFilter;
 InvNeededSrc.DataSet.Filtered := False;
 if InvNeededSrc.DataSet.Filter = ''
  then InvNeededSrc.DataSet.Filter := RptFilters[InvNeededSrc.DataSet.Tag]
  else
   if RptFilters[InvNeededSrc.DataSet.Tag] <> ''
    then InvNeededSrc.DataSet.Filter
      := InvNeededSrc.DataSet.Filter
      + ' AND ' + RptFilters[InvNeededSrc.DataSet.Tag];

 InvNeededSrc.DataSet.Filtered := (InvNeededSrc.DataSet.Filter <> '');
end;