You should implement the group titles, etc. in the proxy. The tricky part will be correctly implementing the mapToSource() and mapFromSource() methods of the proxy. The proxy's rowCount() method will have to take into account the extra rows fro the group titles, and the data() method will have maintain a local record of where the group titles occur so it can either supply a title or switch back to the source model to retrieve a detail line.
As for sources, believe me, I've looked. There are lots of commercial solutions; the closest open source project I have found is QtRpt but it carries too much baggage along with it for me and I don't know if it can be used for display other than printing.
Bookmarks