我正在SharePoint 2013环境中利用SPservices创建当前用户唯一的筛选视图。实际上,当用户访问页面时,他们将获得自定义的提要,这些提要已上传到特定的库。
我可以成功查询该库并以所需的方式呈现结果,但是当我尝试创建复合CAML查询时,总是出错。我尝试使用此处的各种资源来手动构建此查询(并且对网络限制进行了操作,但我无法使用U2U CAML构建器工具),但是我不断遇到错误。我开始做简单的查询,并且可以正常工作,但是一旦我尝试了第三和第四条“ OR”语句(包括IsNull参数),我就遇到了麻烦。我认为我不正确地嵌套了我的陈述,希望能对识别我做错的事情有所帮助。
<Where>
<And>
<Contains>
<FieldRef Name='Author' />
<Value Type='User'>" + userName + "</Value>
</Contains>
<And>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Computed'>Document</Value>
</Eq>
</And>
<Or>
<Or>
<Or>
<Or>
<Eq>
<FieldRef Name='sensitivity' />
<Value Type='Choice'>Low</Value>
</Eq>
<Eq>
<FieldRef Name='sensitivity' />
<Value Type='Choice'>Medium</Value>
</Eq>
</Or>
<Eq>
<FieldRef Name='sensitivity' />
<Value Type='Choice'>High</Value>
</Eq>
</Or>
</Or>
<IsNull>
<FieldRef Name='sensitivity' />
</IsNull>
</Or>
</And>
</Where>
期望的结果将是当前用户上载/创建的项目的输出,其中“内容类型”等于“文档”并且“灵敏度(选择)”字段等于“低”,“中”,“高”或为空。
我觉得自己真的很接近,但是我犯了一个愚蠢的错误。对于上下文,该语句中的“ userName”引用是一个运行正常的javascript变量。
答案 0 :(得分:0)
如果没有U2U CAML构建器工具之类的工具,则包围可能会造成混乱。我感到你很痛苦。
我认为您的问题可能是最后的问题。我相信你会想要的是NotNull
<IsNotNull>
<FieldRef Name='sensitivity' />
</IsNotNull>
作为最后的沟渠,您也许可以仅按文档文档用户查询所有文件