My current task is an ASP.NET page to display the contents of a data object. One of that object's properties is a list of named lists. For opacity's sake let's call it a Company, which has a list of named locations, and each location is associated with (only) a list of employees.
In case it matters, Company has this property implemented like so:
IDictionary<string, IList<Employee>> mEmployeesByLocation;
Each of those lists can display very easily in a GridView. What I think I want is to put the whole thing in a TabContainerand have a separate TabPanel containing each grid. The tabs and grids will be identical to each other, and the name of each tab will be the associated dictionary key.
Is there a good way to do this?
My first thought was to use a Repeater, but you can't put one inside a TabContainer. The parser doesn't know what to do with it there.
So, it looks like I'll have to create the tabs programatically. Fair enough. If at all possible, I want to avoid having to also create the individual grid controls and programatically assign all their properties.
One suggestion I've gotten is to subclass TabPanel and make it work like a user control, containing a GridView and knowing how to pass databinding through to it. I'm not sure how to go about that, though, or if it will even work. I know how to subclass a control, but I don't think something can both act like a TabPanel and contain controls like a user control does.
Thoughts? Input? Better ideas?