Поделиться через


Работа с многозначными столбцами

Область применения: Outlook 2013 | Outlook 2016

Многозначный столбец содержит данные многозначного свойства, которое представляет собой свойство с массивом значений базового типа, а не одним значением. Поскольку ни одна из таблиц не включает многозначные свойства в наборы столбцов по умолчанию, многозначные свойства включаются в таблицу только в том случае, если пользователь таблицы запрашивает их.

В таблицах можно отобразить многозначные столбцы:

  • В одной строке со всеми значениями свойств, отображаемыми в экземпляре одного столбца. Этот параметр используется по умолчанию.

    • Или-
  • В последовательности строк с одной строкой для каждого значения свойства. Каждое уникальное значение отображается в столбце в отдельной строке с таким количеством строк, как и значения в многозначном свойстве. Каждая строка имеет уникальное значение для свойства PR_INSTANCE_KEY (PidTagInstanceKey), но те же значения для других столбцов. Если строка содержит несколько столбцов с несколькими значениями, например два столбца со значениями M и N соответственно, то экземпляры строки M*N отображаются в таблице.

Пользователь таблицы запрашивает неразличимый тип отображения, вызывая метод IMAPITable::SetColumns с флагом MVI_FLAG, заданным в типе свойства многозначного столбца. Флаг MVI_FLAG — это константа, определяемая в результате объединения флагов MV_FLAG и MV_INSTANCE с логической операцией OR . Помимо использования в SetColumns, MVI_FLAG также можно передавать в IMAPITable::SortTable в параметре lpSortCriteria и IMAPITable::Restrict в элементе ulPropTag параметра lpRestriction . При передаче MVI_FLAG SortTable выполняется аналогично SetColumns, добавляя по одной строке для каждого значения в многозначном столбце и сортируя по отдельным значениям в экземплярах. Для каждого значения добавляется одна строка.

Ограничение, однако, не разворачивает многозначный столбец на дополнительные вычисляемые строки. Многозначный столбец с набором MVI_FLAG указывает поставщику услуг использовать этот столбец для ограничения таблицы. Если в ограничении есть значение свойства, оно должно быть тегом свойства с одним значением, идентичным тегу, который будет возвращен IMAPITable::QueryRows для столбца.

Средства реализации таблиц должны поддерживать только тип отображения по умолчанию и могут возвращать значение MAPI_E_TOO_COMPLEX, когда вызывающий запрашивает другую альтернативу. Возможность поддержки обоих типов отображения наиболее важна для поставщиков хранилища сообщений, реализующих таблицы содержимого папок.

См. также

Таблицы MAPI