I have done this for dos. For my uses, even a "print when" wouldn't have worked, because the group expressions are still in effect for the "blanked" groups, and that will cause an outer group to end/begin again.
Here is the code I used:
http://www.personnelware.com/carl/vfp/foxtoy/foxtoy.htmlIn particular, you want to look at:
GRMVGRP: At runtime, removes a group.
GRMVROW: removes rows from a report.
GMAKSMY: Better than the SUMMARY option of the REPORT command.
If I wrote them correctly, they will work for windows. "correctly" however assumes that I did all of my >=< comparing right, then it will work. The problems may occur because in dos, all of the positions are integers; in windows there can be fractions. I don't think this should matter, because it does handle multiple row headers and footers. But if things near the edges don't get removed, I am sure that is why.
For more info in hacking the frx, take a look at this log:
http://fox.wikis.com/wc.dll?Wiki~ReportMetadata