具有多个值的CAML人员或组字段

时间:2014-11-08 09:31:16

标签: sharepoint sharepoint-2010 sharepoint-2007

我在Sharepoint列表中有一个名为TargetedPeople的字段。这是一个人或用户组,可以有多个值。

我用于查询的CAML是

siteDataQuery.Query = @"<Where><Includes><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='Integer'>" + webInContext.CurrentUser.ID + "</Value></Includes></Where>";

如果我们在字段中为“否”设置了“允许多个选择”,则此方法可以正常工作。但如果设置为“是”,这似乎不起作用。

请与我分享如何查询​​多个字段。

2 个答案:

答案 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>