如何使用代码重命名文档库中的标题列?

时间:2011-11-28 16:46:19

标签: c# sharepoint-2010 rename

每个人都喜欢重命名列。标题栏是我的最爱,我似乎无法通过代码重命名:

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();

该字段的显示名称仍为“标题。

1 个答案:

答案 0 :(得分:3)

本地化是个问题。我需要将TitleResource附加内容更改为Title

field.TitleResource.SetValueForUICulture(new CultureInfo(1033), "My title");

作为explained here