有没有办法确定单个 SharePoint 列表项是否与 SPQuery/SPView 匹配



SharePoint 中的标准"警报"功能允许您仅在项目出现在指定视图中时发送警报。

我想在自定义工作流 (c#) 中应用类似的逻辑。

给定一个SPListItem和SPView/SPQuery,有没有人知道是否有一种有效的*方法来查看该项目是否属于该视图/与查询匹配?

*有效含义,而不仅仅是运行查询然后循环查找项目

我没有在 SPListItem、SPQuery 上遇到过这样的方法......具有这样的功能。检查当前项是否在返回的集合中似乎不是一个坏主意。但是,我不会遍历所有项目,而是使用 LINQ 查询来帮助您。像这样:

itemCollection.Cast<SPListItem>().Any(i => i.ID.Equals(yourItem.ID));

其中"itemCollection"是从查询或视图中获取的项目集合。 而"您的项目"是您要检查它是否在集合中的项目。

但是

,如果我改编这个问题的答案中讨论的想法,我有一个想法 如何查询 SPView 对象。

如果我修改查询以执行视图中的所有过滤器,但还添加一个 ID 等于我的项目 ID 的子句,我将返回 1 个结果或 0,然后我可以检查计数。

性能方面,我不确定在马蒂厄的建议和这个想法之间哪个更有效?

我明天会调查...

更新我的技术很有效。我想(从设计的角度来看)在数据库端而不是通过XML查询进行ID检查会更有效。

同样

感谢您的建议马蒂厄。

相关内容

  • 没有找到相关文章

最新更新