我正在处理 sharepoint 2013 的自定义列表。
我在每个列表中创建了许多列表,我想从 Visual Studio 中隐藏标准列“标题”。我知道如何在 SharePoint 站点中处理此问题(通过将此字段隐藏在列列表中),但每次我在列表中进行更改(在 Visual Studio 中)并部署项目时,标题字段都成为必需的。
有没有办法强制“标题”标准列在 Visual Studio 中“隐藏”?
任何人都可以帮助我吗?
我正在处理 sharepoint 2013 的自定义列表。
我在每个列表中创建了许多列表,我想从 Visual Studio 中隐藏标准列“标题”。我知道如何在 SharePoint 站点中处理此问题(通过将此字段隐藏在列列表中),但每次我在列表中进行更改(在 Visual Studio 中)并部署项目时,标题字段都成为必需的。
有没有办法强制“标题”标准列在 Visual Studio 中“隐藏”?
任何人都可以帮助我吗?
你可以使用这个 -
using (ClientContext ctx = new ClientContext("http://siteUrl"))
{
Field field = ctx.Web.Lists.GetByTitle("myListName").Fields.GetByTitle("Title");
field.Hidden = true;
field.Required = false;
field.Update();
ctx.ExecuteQuery();
}
当您的列表继承自默认父内容类型(例如“项目”)时,就会发生这种情况。
所以我建议: 1 - 创建您的自定义内容类型,禁用从父内容类型的继承 2 - 创建您的自定义列表并删除默认内容类型并将其替换为自定义内容类型。
希望这能有所帮助。
您可以按照 Hemi 提供的解决方案进行操作,但是您可以通过另一种方法来考虑解决此问题。您可以从视图本身中删除该列。
请看一下这段代码。
SPView view = list.DefaultView; if(view.ViewFields.Exists("LinkTitle")) { view.ViewFields.Delete("LinkTitle"); view.Update(); }