NumGroupDescriptors property - Gets the number of descriptors.
Add(string, string) - Adds a Column by name and sets group descriptor (defaults the group to 0).
Add(string, string, int) - Adds a Column by name and sets the group descriptor and the group id.
GetName(int) - Returns the Column's name by index.
GetGroup(int) - Returns the Column's group by index.
GetGroup(string) - Returns the Column's group by name.
SetGroup(int, int) - Sets the Column's group by index.
SetGroup(string, int) - Sets the Column's group by name.
GetDescriptor(string) - Returns the Column's descriptor by name.
GetDescriptor(int) - Returns the Column's descriptor by index.
GetIndex(string) - Returnss the Column's index that matches the name.
Remove(int) - Removes a Column from the object by index.
GetUniqueDescriptors() - Returns a collection of unique group descriptors.
GetUniqueGroups() - Returns a collection of unique group ids.
GetColumnsForDescriptor(string) - Returns an ArrayList of all the Column names in that group.
Private Methods
RebuildColumnIndices - Rebuilds the column name to index map.
Private Data Members
SortedList columnIndices - A list of column names mapped to column indices.
ArrayList columns - A collection of Columns.
class Column
int group - The group id.
string name - The column name
string descriptor - The grouping descriptor.
Exceptions
Accessing a column that does not exist.
Setting a group that is negative.
Remarks
A sorted list is being used for two reasons: (1) The information can be accessed by the group id (2) In the future, the ability to access the grouping can be done by order if needed.
Group descriptors will usually be similar. They are the text representation of the group.
Example 1: (Normal (1) vs Cancer (2))
Cancer
Normal
Example 2: (Normal (1) vs Squamous and Adeno (2))
Squamous
Adeno
Normal
Example 1: (Squamous (1) vs Adeno (2); Normal (0-ignore group))
Squamous
Adeno
Normal
There will be 3 items in this object, the group, the column name, and the group descriptor. The group will be a positive integer with 0 being the null/ignore group. The column name will be the column idenitifier that comes from the DataSet. The group descritper will be the group inoformation that comes from the data info.