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 TabContainer
and 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?