我在Sharepoint列表中有一个名为TargetedPeople的字段。这是一个人或用户组,可以有多个值。
我用于查询的CAML是
siteDataQuery.Query = @"<Where><Includes><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='Integer'>" + webInContext.CurrentUser.ID + "</Value></Includes></Where>";
如果我们在字段中为“否”设置了“允许多个选择”,则此方法可以正常工作。但如果设置为“是”,这似乎不起作用。
请与我分享如何查询多个字段。
答案 0 :(得分:4)
经过一些改变,我能够弄清楚这一点。如果字段有多个值,我们应该将值Type定义为LookupMulti。以下是工作代码示例
siteDataQuery.Query = @"<Where><Contains><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='LookupMulti'>" + webInContext.CurrentUser.ID + "</Value></Contains></Where>";
答案 1 :(得分:1)
也可以工作,并且看起来更简单(在SP Online上测试):
<Contains>
<FieldRef Name='TargetedPeople' />
<Value Type="Integer">
<UserID Type="Integer" />
</Value>
</Contains>