组合不同的列表数据并在 Web 部件中显示

Posted

技术标签:

【中文标题】组合不同的列表数据并在 Web 部件中显示【英文标题】:Combining different lists data and showing it in a webpart 【发布时间】:2010-10-20 13:47:48 【问题描述】:

让我解释一下我现在的情况

我有一个 SharePoint 网站,可以说它是 MAIN,而子网站可以称之为 SUBMAIN

在 MAIN 中我有一个名为“a”的列表,在 subMAIN 中我有一个名为“b”的列表

两个列表具有完全相同的列,

我需要在主页的一个 webpart 中显示两个列表的内容(例如按修改日期排序),我知道这可能是一些方法,但无法做到。

目前我在内容查询 webpart 中只显示列表“a”的内容(我已经改变了它的显示方式并添加到它的水平 merquee)所以如果我能以某种方式添加列表“b”的内容会很好" 也适用于相同的内容查询 webpart(但如果在内容查询 webpart 中不可能,至少可以让我知道我还有哪些其他选项)

感谢您的帮助

【问题讨论】:

【参考方案1】:

如果您使用 SharePoint Designer 执行此操作,请查看 this blog。

如果您正在构建自己的 Web 部件,我将对 SPList 对象执行两个查询。然后,您可以根据需要对结果进行聚合、排序等。如果您对 SPList 不熟悉,可以查看 here 以获取 MSDN 概述。

【讨论】:

【参考方案2】:

我已经构建了 Web 部件来显示来自 2 个不同列表的项目,并且我做了类似于 Scott Price 建议的事情。我为每个列表使用了一个 SPQuery 对象,并使用它来获取 DataTable 对象,然后我可以将这些对象与 Repeaters 和 DataLists 之类的东西一起使用。你可以合并你的两个表并做类似的事情。

对我来说最大的窍门是在 webpart 中为 DataBinding 设置自定义模板。为此,我创建了一个实现 ITemplate 接口的自定义类,然后在事件处理程序中从模板类中为每个项目发出 html。然后,您只需创建模板类的一个实例并将其设置为 DataList 的 ItemTemplate 属性。

This post 和this one 更好地解释了这种方法,但好处是您可以完全控制标记,并且可以随意设置样式。

【讨论】:

【参考方案3】:

如果您不想编写自己的解决方案,您可以考虑在 codeplex 上使用这个 webpart:

http://rssaggregator.codeplex.com/

它实际上是一个 RSS 聚合器,但由于所有 SharePoint 列表都具有内置的 RSS 源,因此您也可以使用它来聚合来自不同站点的 SharePoint 列表。

【讨论】:

【参考方案4】:

另一种方法是 SLAM,SharePoint List Association Manager,这是我公司创建并积极支持的开源项目。 SLAM 将允许您将这两个列表配置为自动同步到 SQL 表,此时您可以创建查询以连接两者。如果您将两个列表建立在一个内容类型上(因为它们具有相同的字段),您实际上可以猛烈抨击内容类型并将两个列表都放在同一个 SQL 表中。

【讨论】:

以上是关于组合不同的列表数据并在 Web 部件中显示的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Firestore:从 Firestore 中检索数据并在 Flutter 中显示为小部件

如何遍历地图列表并在颤动列表视图中显示文本小部件?

如何从组合框选择中选择表值?

如何从我的SQL SERVER获取我的数据库列表,并使用javafx将其添加到组合框中

如何在数据网格视图中显示数据

在gridview(Web应用程序)中添加数据C#