0

背景:

我们正在开发一个通过客户端对象模型访问 SharePoint 的自定义应用程序,该应用程序需要使用 OM(对象模型)访问 SharePoint 中定义的 ECT(外部内容类型)列表。此应用程序是一种产品,应该可以与大多数 SharePoint 安装和配置一起使用,并且不具备外部列表的先验知识。

如果没有为 ECT 设置过滤器,SharePoint 将返回列表中的所有可用项目(假设数量低于阈值)。当我们为此 ECT 定义过滤器时,SharePoint 仅返回应用此过滤器后的项目(可能来自 SP 的正确行为)。

问题:

我们需要能够根据用户在搜索框中输入的文本来搜索这个 ECT 列表(未过滤)。目前似乎无法更改将值返回给调用对象时应用的筛选器 SharePoint。

即我的 ECT 列表中有 10 个项目(1,2,3…10)。每个项目有 3 列(ID、名称、描述)。为 ECT 列表设置过滤器后,当我向 SharePoint 询问项目列表时,SharePoint 返回项目 2、3 和 6。

不,用户会搜索与项目 7 的描述匹配的内容。如何搜索/过滤列表以返回与我的搜索查询匹配的项目?

我一直在兜圈子试图解决这个问题,但似乎没有任何效果。我尝试设置 CAML 查询以及http://pholpar.wordpress.com/2011/02/09/how-to-query-external-lists-on-the-client-side-using中定义的 LoadQuery -caml/http://msdn.microsoft.com/en-us/library/ff464384.aspx但似乎没有任何效果。

4

1 回答 1

1

即使我有这个问题。让我告诉你,没有办法做到这一点。即使在服务器对象模型中,也可以选择更改默认视图的过滤器,但是一旦应用过滤器,SPList 将返回 0 个项目。有趣的是,一旦您的代码运行并在 SP UI 中打开列表,您就可以看到实际修改后的列表。但是对象模型中的查询也不能这样。

看起来很奇怪。我想如果你在这个实例中修改 SPList(基于 ECT),那么你只能在下一个实例中得到结果(比如在下一页刷新.....)

于 2012-05-07T11:06:41.870 回答