将内容类型中的列添加到列表
上次修改时间: 2009年10月1日
适用范围: SharePoint Foundation 2010
在将内容类型添加到列表时,该内容类型中所引用的列也会作为列表列添加到该列表中(如果该列表中尚不存在这些列)。
下图显示通过添加内容类型而添加到列表中的列。在图中,网站内容类型"Specification"具有三个引用的网站栏。网站内容类型包含对每个添加的列("Developer"、"Milestone"和"Status")的网站栏定义的引用。网站栏集合包含该网站上可用的所有网站栏的定义。
在将内容类型添加到列表时,SharePoint Foundation 将网站内容类型作为列表内容类型进行本地复制,并将列模板作为列表列本地复制到列表中。列表内容类型包含对复制到列表中的列表列的引用,而非对网站级别上的网站栏集合中的网站栏的引用。因此,您可以对列进行本地更改,就好像它在该列表上一样,并且这些更改不会影响网站栏本身,也不会影响从该网站栏继承的其他列表上的列表列。
在下图中,我们演示一种更复杂的情形,有多个网站内容类型添加到同一个列表中。两个网站内容类型"Memo"和"Spec"是在网站集根网站上创建的。由于它们的位置,这些网站内容类型可供网站集中所有其他网站继承。列表管理员将这两个网站内容类型添加到特定列表中,如图中所示。此时,SharePoint Foundation 将网站内容类型作为列表内容类型本地复制到列表中。SharePoint Foundation 检查两个列表内容类型来确定将哪些列(如果有)添加到列表中。在此示例中,"Memo"引用两个列:"Author"和"Subject",而"Spec"内容类型引用三个列:"Author"、"Test"和"Developer"。SharePoint Foundation 添加所需的列。
虽然两种内容类型中都引用了"Author",但只在列表中添加一次。此外,如果"Author"是"Spec"内容类型的必需列,但不是"Memo"内容类型的必需列,则在列表上,只有"Spec"内容类型的项目才需要它。
将列表上的列添加到内容类型中
当您直接将列添加到列表中,而该列表包含多个内容类型时,可以指定是否要在该列表上的所有内容类型中引用该新列。如果确实在列表内容类型中引用该列,并且将该列设置为列表必需,则该列在每个列表内容类型中也会设置为必需。但是,可以以后覆盖特定列表内容类型中的必需设置。
还可以将现有列表列添加到列表上的列表内容类型中。