0

我正在尝试实现一个列表,其中唯一的项目类型是文件夹。如果有人单击“新建”,他们将进入一个允许他们输入文件夹名称、描述并从下拉菜单中选择“活动”或“非活动”的表单。在文件夹内,我想要一个只有 2 列的简单列表。

我尝试使用我需要的列创建自定义文件夹内容类型,并将其设置为默认内容类型。这似乎可以制作文件夹列表。一旦我进入文件夹并尝试更改内部视图/列表设置(我不想使用文件夹内的自定义文件夹内容类型......我只需要 2 个简单的列)它会更改列表的设置文件夹也是如此。内部列表有什么方法可以设置与其父级不同的设置吗?

4

2 回答 2

1

我不知道这个问题是否仍然相关,但也许其他人会发现我的答案很有用。

我曾经实现一个仅包含根目录中的文件夹的列表,它可以包含一些基于项目的内容类型。FeatureActivated 和 ItemAdded 事件有两个事件接收器,它们分别更改列表根文件夹和正在创建的文件夹的 UniqueContentTypeOrder 属性(可供用户创建的内容类型列表)。像这样:

List<SPContentType> ctl = new List<SPContentType>();
foreach (SPContentType ct in lst.ContentTypes) if (ct.Id.IsChildOf(SPBuiltInContentTypeId.Folder)) ctl.Add(ct);
lst.RootFolder.UniqueContentTypeOrder = ctl;
lst.RootFolder.Update();

此外,我通过为视图定义指定 ContentTypeID 属性,为根文件夹及其包含的文件夹指定了不同的可用列表视图。

于 2013-01-18T07:13:23.630 回答
0

抱歉不行。由于 SharePoint 列表不是关系数据,因此您唯一的选择是允许多种内容类型。如果某个内容类型可用于列表,则它可用于整个列表(根文件夹和子文件夹)。

对您尝试完成的工作进行建模的一种可能性依赖于 SharePoint 2010 Enterprise。Infopath 允许您自定义列表的新项目表单。可能可以编辑表单,使其仅允许顶级文件夹和文件夹内的列表项目,但我不确定 - 自从我使用 Infopath 自定义列表表单以来已经有一段时间了。

于 2012-05-11T20:09:10.083 回答