Edhy,
I use the ListView for this all the time. In fact I sub-classed the ListView just for this and it is pretty easy to use now. A few of things I ended up doing:
- I fill the list view with a copy of the BO i'm working with. I.e. I use the CopyDataFrom() method.
- In my subclassed BO, I have a property to indicate the BO to synch with. The property is a BusinessLayer type, so any BO will work.
- I handle the several of the BOs events:
* AfterAddNew - update list and synch it to BO
* AfterDelete - Update list and synch it to BO
* AfterSave - Update list and synch it to BO (in case the data in list has changed).
* Navigating - check if bo needs to be saved before navigating to off record
* Navigated - synch list
* CurrentDataTableRefilled - update list and synch to BO
- I handle a couple of the ListView events:
* SelectedIndexChanged - navigate BO to associated item
* ListPopulating - set parameters needed for the CopyDataFrom method, which is possible because I have the BO property of the ListView.
Anyway, just some thoughts if you go down the ListView road....