我无法在SharePoint 2013列表中选择查找字段。 我也无法根据查找字段进行过滤。
例如我有List with Name Test,这个列表包含字段:Title,Company,Province 公司和省是根据省份查找我想要过滤的字段,这是一个查找字段 使用REST查询会出错:
我的疑问:
https://TestServer/sites/AIB/OBC/_api/web/lists/getByTitle('Test')/items?$select=Province/Title&$expand=Province&$filter=Province/Title eq 'ABC'
当我将URL放入我的浏览器进行测试时,它会出错,这会产生错误:
<m:message xml:lang="en-US">The field or property 'Province' does not exist.</m:message>
如何根据SharePoint 2013 REST中的查找字段进行过滤?
答案 0 :(得分:3)
使用$ expand就像打击代码一样:
/_api/web/lists/GetByTitle('Test')/items?$select=Province/Title&$expand=Province&$filter=Province/Title eq 'XYZ'
答案 1 :(得分:3)
假设Contacts
列表包含名为Province
选项1
将查阅列添加到列表中时,其ID
可通过REST自动访问。例如,当名为Province
的字段添加到List中时,可以设置Province Id
或通过列表项的ProvinceId
属性获取。
以下查询演示了如何按查找字段ID (在我们的示例中为Province Id
)过滤列表项:
/_api/web/lists/GetByTitle('<list title>')/items?$filter=LookupField eq <ProvinceId>
其中<ProvinceId>
是省ID
选项2
为了按查找值进行过滤,查询应包含$expand
查询选项以检索投影字段(例如Province Title
)。以下示例演示了如何按查找字段值进行过滤(在我们的示例中为Province Title
):
/_api/web/lists/GetByTitle('Contacts')/items?$select=Province/Title&$expand=Province&$filter=Province/Title eq <ProvinceTitle>
其中<ProvinceTitle>
是省的Title
答案 2 :(得分:1)
Mehdi jalal,我发现为什么它会抛出这个错误。您需要使用单引号关闭省份标题,并且您拥有它。像这样
查询语法:
/_api/web/lists/GetByTitle('Contacts')/items?$select=Province/Title,Province/ID&$expand=Province&$filter=Province/Title eq '<ProvinceTitle>'
现在这是示例查询:
/_api/web/lists/GetByTitle('Contacts')/items?$select=Province/Title,Province/ID&$expand=Province&$filter=Province/Title eq 'Detroit Province'