Freigeben über


Arbeiten mit mehrwertigen Spalten

Gilt für: Outlook 2013 | Outlook 2016

Eine mehrwertige Spalte enthält die Daten einer mehrwertigen Eigenschaft, bei der es sich um eine Eigenschaft handelt, die ein Array von Werten des Basistyps anstelle eines einzelnen Werts enthält. Da keine der Tabellen mehrwertige Eigenschaften in ihren Standardspaltensätzen enthält, sind mehrwertige Eigenschaften nur dann in einer Tabelle enthalten, wenn der Benutzer der Tabelle dies anfordert.

Mehrwertige Spalten können in Tabellen angezeigt werden:

  • In einer einzelnen Zeile, wobei alle Eigenschaftswerte in der einzelnen Spalte instance angezeigt werden. Dies ist die Standardeinstellung.

    • Oder-
  • In einer Reihe von Zeilen mit einer Zeile für jeden der Eigenschaftswerte. Jeder eindeutige Wert wird in der Spalte in einer eigenen Zeile angezeigt, wobei so viele Zeilen vorhanden sind, wie werte in der mehrwertigen Eigenschaft vorhanden sind. Jede Zeile verfügt über einen eindeutigen Wert für die eigenschaft PR_INSTANCE_KEY (PidTagInstanceKey), aber die gleichen Werte für die anderen Spalten. Wenn eine Zeile mehr als eine Spalte mit mehreren Werten enthält, z. B. zwei Spalten mit M - bzw. N-Werten , werden M*N-Instanzen der Zeile in der Tabelle angezeigt.

Ein Tabellenbenutzer fordert den nicht standardmäßigen Anzeigetyp an, indem er die IMAPITable::SetColumns-Methode mit dem MVI_FLAG-Flag aufruft, das im Eigenschaftentyp der mehrwertigen Spalte festgelegt ist. Das MVI_FLAG-Flag ist eine Konstante, die als Ergebnis der Kombination der flags MV_FLAG und MV_INSTANCE mit einem logischen OR-Vorgang definiert wird. Zusätzlich zur Verwendung in SetColumns können MVI_FLAG auch an IMAPITable::SortTable im lpSortCriteria-Parameter und IMAPITable::Restrict im ulPropTag-Member des lpRestriction-Parameters übergeben werden. Wenn die MVI_FLAG übergeben wird, wird SortTable ähnlich wie SetColumns ausgeführt. Dabei wird für jeden Wert in der mehrwertigen Spalte eine Zeile hinzugefügt und nach den einzelnen Werten in den Instanzen sortiert. Für jeden Wert wird eine Zeile hinzugefügt.

Restrict erweitert die mehrwertige Spalte jedoch nicht in zusätzliche berechnete Zeilen. Eine mehrwertige Spalte mit dem MVI_FLAG Set weist den Dienstanbieter an, diese Spalte zum Einschränken der Tabelle zu verwenden. Wenn in der Einschränkung ein Eigenschaftswert vorhanden ist, muss es sich um ein Einzelnes Wert-Eigenschaftstag mit dem Tag für die Eigenschaft handelt, das von IMAPITable::QueryRows für die Spalte zurückgegeben wird.

Tabellenimplementierer müssen nur den Standardanzeigetyp unterstützen und können den MAPI_E_TOO_COMPLEX Wert zurückgeben, wenn ein Aufrufer die andere Alternative anfordert. Die Möglichkeit, beide Anzeigetypen zu unterstützen, ist für Nachrichtenspeicheranbieter, die Ordnerinhaltstabellen implementieren, am wichtigsten.

Siehe auch

MAPI-Tabellen