SSortOrderSet 

The SSortOrderSet structure defines a collection of sort keys for a table to be used for standard or categorized sorting.

Quick Info

Header file:

MAPIDEFS.H

Related macros:

CbNewSSortOrderSetFVUP9K
CbSSortOrderSetLI216C
SizedSSortOrderSet0_032U

 

typedef struct _SSortOrderSet

     ULONG      cSorts;

     ULONG      cCategories;

     ULONG      cExpanded;

     SSortOrder aSort[MAPI_DIM];

} SSortOrderSet, FAR *LPSSortOrderSet;

 

Members

cSorts

Count of sort orders that are defined in the aSort member.

cCategories

Count of columns that are designated as category columns. Possible values range from zero, which indicates a noncategorized sort, up to the number indicated by the cSorts member.

cExpanded

Count of categories that start in an expanded state.

aSort

Array of SSortOrderB6RW3D structures, each defining a sort order.

 

Remarks

Clients and service providers use an SSortOrderSet structure for defining multiple sort orders for standard and categorized sorting.

When there are more columns than there are categories, the first columns are used for the categorization. For example, consider the situation where cCategories is set to two and there are three columns defined as sort keys in the SSortOrderSet structure: sender name, subject, and date received. Sender name is the top level category grouping; subject is the secondary grouping. Every leaf row that has columns with values that match the two category columns is ordered by date received, so that the expanded display for such a grouping appears as shown in the following illustration.

{bmc bm16.WMF}

The cExpanded member specifies the number of categories that are initially expanded. When there are multiple categories, the table implementation begins with the first column to be designated as a category and continues in sequential order with the subsequent category columns until the number of cCategories has been exceeded. If there are more category columns than there are expanded columns, the category columns are collapsed. If cExpanded is equal to zero, only the top level heading row is available to the table user for display. If cExpanded is equal to one less than the number of categories, then all of the heading rows but none of the leaf rows are available. If cExpanded is equal to the number of categories, then the table is fully expanded.

For more information about standard and categorized sorting, see Sorting and Categorization8BTQG5.

See Also

IMAPITable::ExpandRow, IMAPITable::CollapseRow