SSortOrder

适用于:Outlook 2013 | Outlook 2016

定义如何对表的行进行排序、将哪个列用作排序键以及排序方向。

属性
标头文件:
Mapidefs.h
typedef struct _SSortOrder
{
  ULONG ulPropTag;
  ULONG ulOrder;
} SSortOrder, FAR *LPSSortOrder;

Members

ulPropTag

属性标记,标识排序键或分类排序的类别列。

ulOrder

数据的排序顺序。 可能的值如下所示:

  • TABLE_SORT_ASCEND:表应按升序排序。

  • TABLE_SORT_COMBINE:排序操作应创建一个类别,该类别将 ulPropTag 成员中标识为排序键列的属性与上一 SSortOrder 结构中指定的排序键列组合在一起。

    仅当 SSortOrder 结构用作 SSortOrderSet 结构中的条目,以便为分类排序指定多个排序顺序时,才能使用 TABLE_SORT_COMBINE。 TABLE_SORT_COMBINE不能用于 SSortOrderSet 结构中的第一个 SSortOrder 结构。

  • TABLE_SORT_DESCEND:表应按降序排序。

  • TABLE_SORT_CATEG_MAX:对于 SSortOrderSet 结构中上一个排序顺序指定的类别中的数据行,应根据 ulPropTag 成员的最大值对表进行排序。

  • TABLE_SORT_CATEG_MIN:表应按 ulPropTag 成员的最小值对 SSortOrderSet 结构中的上一个排序顺序指定的类别中的数据行进行排序。

备注

SSortOrder 结构用于描述如何执行标准排序操作或分类排序操作。 SSortOrder 结构通常合并为 SSortOrderSet 结构,以描述多个排序键和方向。 SSortOrderSet 结构用于以下函数和接口方法:

表中可用作排序键的允许列的范围取决于提供程序。 属于当前列集的列始终可用作排序键。 但是,每个提供程序确定是否可以使用当前列集中的可用列来定义排序键。 可用列是在设置TBL_ALL_COLUMNS标志时从 IMAPITable::QueryColumns 返回的列。

ulOrder 成员指示方向顺序和分类信息,例如,按对话 (PidTagConversationTopic) ,即会话线程,这是一系列消息和答复。 行可以按升序或降序排序,最后放置所有 NULL 条目。

TABLE_SORT_COMBINE值指示 ulPropTag 中指定的列应与上一个类别列组合在一起,以形成复合类别。 也就是说,TABLE_SORT_COMBINE允许对列组合的唯一值进行分类,而不是对单个列的唯一值进行分类。 例如,可以将单个类别定义为对特定主题从特定发件人接收的邮件进行分组。 将值设置为TABLE_SORT_COMBINE可减少显示的类别行数。

并非所有表实现都普遍支持对多值列进行排序。 如果受支持,请使用 MVI_PROP 宏将MV_FLAG应用于 ulPropTag 成员中的属性标记,以将排序键标识为多值列。 基于使用单个值对多值列进行排序。

重要

ulOrder 成员值TABLE_SORT_CATEG_MAX和TABLE_SORT_CATEG_MIN可能不会在当前具有的可下载头文件中定义,在这种情况下,可以使用以下值将其添加到代码中:

#ifndef TABLE_SORT_CATEG_MAX
#define TABLE_SORT_CATEG_MAX ((ULONG) 0x00000004)
#endif

#ifndef TABLE_SORT_CATEG_MIN
#define TABLE_SORT_CATEG_MIN ((ULONG) 0x00000008)
#endif

有关标准和分类排序的详细信息,请参阅 排序和分类

另请参阅