EWS FindItems OrderBy - 按 EmailMessageSchema.From 不正确的顺序排序
EWS FindItems OrderBy - Sort by EmailMessageSchema.From Incorrect Order
我在我的视图上使用 OrderBy 调用 EWS FindItems() 方法。如果我使用各种 ItemSchema.* 值(例如 ItemSchema.DisplayTo、ItemSchema.Importance、ItemSchema.Subject),结果将以正确的顺序返回。
但是如果我希望结果按 EmailMessageSchema.From 排序,因为结果的顺序很奇怪,我无法理解,我的用户也无法接受。
正确排序:ItemSchema.Subject
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.OrderBy.Add(ItemSchema.Subject, SortDirection.Ascending);
var findResults = service.FindItems(new FolderId(emails.CompositeUniqueFolderId), view);
排序不正确:EmailMessageSchema.From
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.OrderBy.Add(EmailMessageSchema.From, SortDirection.Ascending);
var findResults = service.FindItems(new FolderId(emails.CompositeUniqueFolderId), view);
奇数 'From' 顺序:
- MXX 质量检查小组
- 沙赫扎德·伊克巴尔
- 金史蒂文斯
- 维克拉姆·凯斯瓦尼
- 乌尔里希·帕泽
- 沙赫扎德·伊克巴尔
- 沙赫扎德·伊克巴尔
如果我按倒序排列条目。电子邮件 #6 和 #7 的 SMPT 地址与 #2 不同。查看 SMTP 地址时,模式不清晰。结果似乎按 Address.MailboxType 分组。这是我能看到的唯一轻微模式。
如何让 FindItems() 结果按 EmailMessageSchema.From 正确排序?
From 和 Sender 属性是复杂的属性(例如包含多个 属性)。您最好只使用 Extended 属性 作为您想要的结果 Order the result on 例如,如果您想根据发件人姓名对结果进行排序,请使用 pidtagSenderName 属性 eg
ExtendedPropertyDefinition Pr_Sender_Name = new ExtendedPropertyDefinition(0x0C1A, MapiPropertyType.String);
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.PropertySet.Add(Pr_Sender_Name);
view.OrderBy.Add(Pr_Sender_Name, SortDirection.Ascending);
干杯
格伦
我在我的视图上使用 OrderBy 调用 EWS FindItems() 方法。如果我使用各种 ItemSchema.* 值(例如 ItemSchema.DisplayTo、ItemSchema.Importance、ItemSchema.Subject),结果将以正确的顺序返回。
但是如果我希望结果按 EmailMessageSchema.From 排序,因为结果的顺序很奇怪,我无法理解,我的用户也无法接受。
正确排序:ItemSchema.Subject
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.OrderBy.Add(ItemSchema.Subject, SortDirection.Ascending);
var findResults = service.FindItems(new FolderId(emails.CompositeUniqueFolderId), view);
排序不正确:EmailMessageSchema.From
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.OrderBy.Add(EmailMessageSchema.From, SortDirection.Ascending);
var findResults = service.FindItems(new FolderId(emails.CompositeUniqueFolderId), view);
奇数 'From' 顺序:
- MXX 质量检查小组
- 沙赫扎德·伊克巴尔
- 金史蒂文斯
- 维克拉姆·凯斯瓦尼
- 乌尔里希·帕泽
- 沙赫扎德·伊克巴尔
- 沙赫扎德·伊克巴尔
如果我按倒序排列条目。电子邮件 #6 和 #7 的 SMPT 地址与 #2 不同。查看 SMTP 地址时,模式不清晰。结果似乎按 Address.MailboxType 分组。这是我能看到的唯一轻微模式。
如何让 FindItems() 结果按 EmailMessageSchema.From 正确排序?
From 和 Sender 属性是复杂的属性(例如包含多个 属性)。您最好只使用 Extended 属性 作为您想要的结果 Order the result on 例如,如果您想根据发件人姓名对结果进行排序,请使用 pidtagSenderName 属性 eg
ExtendedPropertyDefinition Pr_Sender_Name = new ExtendedPropertyDefinition(0x0C1A, MapiPropertyType.String);
ItemView view = new ItemView(20, 0, OffsetBasePoint.Beginning);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.PropertySet.Add(Pr_Sender_Name);
view.OrderBy.Add(Pr_Sender_Name, SortDirection.Ascending);
干杯 格伦