每个人都喜欢重命名列。标题栏是我的最爱,我似乎无法通过代码重命名:
SPList list = web.Lists.TryGetList("MyList");
Guid guid = new Guid("fa564e0f-0c70-4ab9-b863-0177e6ddd247"); //Title column
SPField field = list.Fields[guid];
field.Title = "Testing";
field.Update();
list.Update();
标题列始终保留标题列(至少DisplayName
)。当然我不想重命名InternalName
或任何疯狂的东西,但由于你不能删除列,如果它在我的SP上下文中实际上有一个有意义的名称会很好。
简而言之问题:如何使用代码重命名文档库中的标题列/字段(这意味着C# - 不是XML)?“
PS:当然它可以通过UI工作。转到文档库设置>栏目>标题,您可以根据自己的喜好更改名称(这会在所有视图上更新)
<小时/> 进一步的调查显示,它甚至不适用于SchemaXML
:
string schema = field.SchemaXML;
schema.Replace("Title", "NewNameHere");
field.SchemaXml = schema;
field.Update();
list.Update();
该字段的显示名称仍为“标题。
答案 0 :(得分:3)
本地化是个问题。我需要将TitleResource
附加内容更改为Title
:
field.TitleResource.SetValueForUICulture(new CultureInfo(1033), "My title");