Sharepoint 具有多个值的CAML人员或组字段
我在Sharepoint列表中有一个名为TargetedPeople的字段。这是可以有多个值的个人或用户组 我用于查询的CAML是Sharepoint 具有多个值的CAML人员或组字段,sharepoint,sharepoint-2010,sharepoint-2007,Sharepoint,Sharepoint 2010,Sharepoint 2007,我在Sharepoint列表中有一个名为TargetedPeople的字段。这是可以有多个值的个人或用户组 我用于查询的CAML是 siteDataQuery.Query = @"<Where><Includes><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='Integer'>" + webInContext.CurrentUser.ID + "</Value>
siteDataQuery.Query = @"<Where><Includes><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='Integer'>" + webInContext.CurrentUser.ID + "</Value></Includes></Where>";
siteDataQuery.Query=@“+webInContext.CurrentUser.ID+”;
如果我们在字段中为“否”设置了“允许多个选择”,则该选项可以正常工作。但如果设置为“是”,这似乎不适用于
请与我分享如何查询多个字段。经过一些更改后,我能够理解这一点。如果字段有多个值,我们应该将值类型定义为LookupMulti。下面是工作代码示例
siteDataQuery.Query = @"<Where><Contains><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='LookupMulti'>" + webInContext.CurrentUser.ID + "</Value></Contains></Where>";
siteDataQuery.Query=@“+webInContext.CurrentUser.ID+”;
经过一些修改后,我终于明白了这一点。如果字段有多个值,我们应该将值类型定义为LookupMulti。下面是工作代码示例
siteDataQuery.Query = @"<Where><Contains><FieldRef Name='TargetedPeople' LookupId='TRUE'/><Value Type='LookupMulti'>" + webInContext.CurrentUser.ID + "</Value></Contains></Where>";
siteDataQuery.Query=@“+webInContext.CurrentUser.ID+”;
也可以工作,看起来更简单(在SP Online上测试):
也可以工作,看起来更简单(在SP Online上测试):