使用SharePoint也有一段时间了,作为SharePoint开发,对查询列表或文档库少不了接触CamlQuery。
CamlQuery查询语句和介绍微软官方的文档也介绍的很清楚,查看这里。
最近在看文档库的时候发现一个查询语句,以前没有用到过的,简单记录。
1、根据当前用户的ID查询;
//查询作者是当前登录用户的行
<Query>
<Where>
<Eq>
<FieldRef Name="Author" />
<Value Type="Integer">
<UserID />
</Value>
</Eq>
</Where>
</Query>
2、多值查询避免使用多个<Or>
如果UserType字段的可能值有多个,需要筛选出其中几个,可以使用下面的查询语句。
<View>
<Query>
<Where>
<In>
<FieldRef Name='UserType'/>
<Values>
<Value Type='Text'>{Value1}</Value>
<Value Type='Text'>{Value2}</Value>
<Value Type='Text'>{Value3}</Value>
</Values>
</In>
</Where>
</Query>
</View>
3、查询用户所在组的数据
下面的查询中,如果AssignedTo字段中包含当前登录用户,或者当前登录用户所在的组的数据。这个查询适合在任务分配类的业务中使用。
<Query>
<Where>
<Or>
<Membership Type="CurrentUserGroups">
<FieldRef Name="AssignedTo"/>
</Membership>
<Eq>
<FieldRef Name="AssignedTo"></FieldRef>
<Value Type="Integer">
<UserID/>
</Value>
</Eq>
</Or>
<Where>
</Query>