Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
4/8/2010

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

Syntax

struct { 
  ULONG 
cSorts; 
  ULONG 
cCategories; 
  ULONG 
cExpanded; 
  SSortOrder 
aSort[MAPI_DIM]; 
} SSortOrderSet, FAR *LPSSortOrderSet; 

Members

cSorts

Count of SSortOrderstructures that are included in aSort.

cCategories

Count of columns that are designated as category columns. Possible values range from zero, which indicates a non-categorized or standard sort, to the number indicated by cSorts.

cExpanded

Count of categories that start in an expanded state, where all of the rows that apply to the category are visible in the table view. Possible values range from 0 to the number indicated by cCategories.

aSort

Array of SSortOrderstructures, each defining a sort order.

Remarks

An SSortOrderSetstructure is used for defining multiple sort orders for standard and categorized sorting.

Each SSortOrderSetstructure contains at least one SSortOrderstructure defining the direction of the sort and the column to be used as the sort key. For categorized sorting, this column is used as the category. When the value of the cSortsmember exceeds the value of the cCategoriesmember, indicating that there are more sort keys than categories, categories are created from the columns that appear first in the SSortOrderarray.

For example, if cSortsis set to 3 and cCategoriesis set to 2, the columns described by the ulPropTagmember of the first two entries in the SSortOrderarray are used as the category columns. The first entry serves as the top-level category grouping; the second entry as the secondary grouping. All of the rows that match the two category columns are sorted using the sort key defined in the third entry.

The cExpandedmember 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 cCategorieshas been exceeded. If there are more category columns than expanded columns, the category columns are collapsed. If cExpandedis equal to zero, only the top level-heading row is available to the table user for display. If cExpandedis equal to one less than the number of categories, all of the heading rows but none of the leaf rows are available. If cExpandedis equal to the number of categories, the table is fully expanded.

Requirements

Header mapidefs.h
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2002 and later, Smartphone 2002 and later

See Also