在SharePoint列表中表示父子关系

在SharePoint列表中表示父子关系,sharepoint,list,parent-child,relationship,Sharepoint,List,Parent Child,Relationship,我需要在SharePoint应用程序中创建一些功能,用一些简单的分层数据填充一个或多个列表。每个父记录将代表一个“提交”,每个子记录将代表一个“提交项目”。提交和提交项目之间存在1对n的关系。在SharePoint中这样做是否可行?到目前为止,我所做的列表关系的唯一类型是查找列,但这似乎有点不同。此外,一旦建立了这样的列表关系,那么在此类数据上创建视图的最佳方法是什么。我几乎确信,将这些内容写入外部数据库会更容易,但我想尝试一下SharePoint,以便利用自动搜索功能。在单独的数据库中执行此操

我需要在SharePoint应用程序中创建一些功能,用一些简单的分层数据填充一个或多个列表。每个父记录将代表一个“提交”,每个子记录将代表一个“提交项目”。提交和提交项目之间存在1对n的关系。在SharePoint中这样做是否可行?到目前为止,我所做的列表关系的唯一类型是查找列,但这似乎有点不同。此外,一旦建立了这样的列表关系,那么在此类数据上创建视图的最佳方法是什么。我几乎确信,将这些内容写入外部数据库会更容易,但我想尝试一下SharePoint,以便利用自动搜索功能。

在单独的数据库中执行此操作,创建一个页面,其中包含显示数据的控件,并在该页面上运行搜索。不过,它丢失了不少SharePoint功能

否则,可以创建一个自定义字段控件,允许您在其他列表中查找数据。 自定义字段控件可以是“查看”相关数据的控件。 我知道我们已经为同一列表中页面之间的父子关系做了这项工作。但不是1比N


这两种方式都是艰难的选择。

我经常使用sharepoint,使用一个名为AAA(活动、分配、工件)的框架来实现这一点,该框架允许您使用查找列将分配或工件链接到父活动。然后,使用连接的web部件构建一个web部件页面,允许您按活动筛选所有分配和工件。例如,在提交web部件中单击提交旁边,将显示附加到该提交的所有提交项目。非常好。

如果不自己开发Sharepoint,在Sharepoint中正确的父/子对象几乎是不可能的。这里有一种方法:


(注意:这与SharePoint 2007有关。在2010年,)

您可以使用的另一种方法是在项目中使用字段持久化XML。这是播客工具包(在CodePlex上)用于存储评级等内容的方法。

一种可能的方法是基于文件夹内容类型创建提交内容类型,基于项目内容类型创建提交项目。然后,您可以像在文件系统中一样分层存储数据,还可以使用默认视图和搜索功能


另一种方法是创建指向同一列表的查找字段(list=“self”)。此字段将像引用父项一样使用,您将得到包含递归相关数据的列表。以编程方式使用此数据是可以的,但使用视图功能有点复杂。

使用连接的web部件很容易

创建两个列表:

家长(Id、职务) 子项(Id、标题、父项Id)

创建一个新的sharepoint页面,添加DataFormWebPart(显示父项)和另一个用于子项的DataFormWebPart,将它们都设置为基于QueryString参数进行筛选(使用该参数筛选Parent.Id和Child.ParentId)。瞧,您可以显示父子关系。现在,添加孩子更困难,这是我还没有解决的部分。

我的投票是“将这些东西写入外部数据库”

您在Sharepoint中错过了很多东西,例如事务支持、引用完整性、简单的更新方式(比较SQL)、报告(使用reporting Services和SQL数据库)。。。将sharepoint视为存储文档和简单列表的一种方式

Sharepoint的理由是如果它是一个小型应用程序,不需要支持事务,不需要导入外部数据等等

当人们说Sharepoint是一个开发平台时,需要定义他们认为开发平台是什么


关于Sharepoint 2010的最新传闻告诉我们,下一个版本将支持基于SQL server的列表。。。。。我认为这至少会使Sharepoint朝着正确的方向发展……

看看SLAM,Sharepoint列表关联管理器,这是我的公司创建并积极支持的一个开源项目。SLAM允许您将SharePoint数据同步到SQL,包括列表之间的任何关系。SLAM除了本身非常有用之外,实际上是一个框架,它允许开发人员使用我们称之为SLAM类型的概要文件创建自己的复杂数据关联。我们有一个开箱即用的配置文件,它是开放源码项目的一部分,它实际上允许您使用嵌套的集合模型使SharePoint列表分层。有关更多信息,请参阅我们的codeplex网站。

您有相关的URL吗?我似乎找不到有关此框架的详细信息。看起来这就是提到的框架:@Steve感谢您提供的提示、更新的链接,并为SharePoint 2010添加了一个链接。仍然不确定内容是否应该从人们的博客中复制,但两年后回到一个问题,却发现断开的链接也不太好)