I have been thinking on your problem for many days, but it seems it has no simple solution - at least, in the form of the original specification. The main problem is that you need to show customer names which may be duplicated for different id's. And there is a question for you related to this: how will your customer distinguish two different customers with the same name?
A feasible solution I suggest is to display the customer id in addition to its name in group rows/cells. Then you can use cell dynamic contents for that. Here is my code that should explain the implementation of the idea much better:
This is the full form module of the sample I was playing with. The array m_arrCustomerName is used to get the customer name by its id (just for a sample).