【问题标题】:CAML person or Group field with Multiple values具有多个值的 CAML 人员或组字段
【发布时间】:2014-11-08 09:31:16
【问题描述】:
我在 Sharepoint 列表中有一个名为 TargetedPeople 的字段。这是一个可以有多个值的人员或用户组。
我用于查询的 CAML 是
siteDataQuery.Query = @"<Where><Includes><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='Integer'>" + webInContext.CurrentUser.ID + "</Value></Includes></Where>";
如果我们在字段中将“允许多项选择”设置为“否”,这可以正常工作。但是,如果它设置为“是”,这似乎不起作用。
请分享我如何查询多个字段。
【问题讨论】:
标签:
sharepoint
sharepoint-2010
sharepoint-2007
【解决方案1】:
经过一些更改,我能够弄清楚这一点。如果该字段有多个值,我们应该将值类型定义为 LookupMulti。以下是工作代码示例
siteDataQuery.Query = @"<Where><Contains><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='LookupMulti'>" + webInContext.CurrentUser.ID + "</Value></Contains></Where>";
【解决方案2】:
也可以工作,看起来更简单(在 SP Online 上测试):
<Contains>
<FieldRef Name='TargetedPeople' />
<Value Type="Integer">
<UserID Type="Integer" />
</Value>
</Contains>