Chris, I may not have followed the flow of your application correctly, but if both windows use the same dataProvider, then any filtering done in one place will show up in another - because it is, after all, the same object. Creating another object = to the dataProvider will, as Doug notes, involve passing by reference and so shouldn't solve your problem.
So unit_dp and division_dp are simply pointers to the same, filtered object. Perhaps you could consider cloning your data as it arrives from the server (or wherever it comes from). A clone of the data will be a completely separate object, and thus not affected by the filtering of the first object. So you might create division_dp as a pointer to *Application.application.division_dp, *but clone the application's dp, and use the clone as unit_dp. I often do this when I need to use the same basic lookup data in different parts of my applications, with slight differences. For example, I might retrieve a list of departments and use that list within an employee's edit screen. But I might clone the list and add an entry for "New Department" to use in a drop-down choice elsewhere. -- Thanks, Tom Tom McNeer MediumCool http://www.mediumcool.com 1735 Johnson Road NE Atlanta, GA 30306 404.589.0560
