其他分享
首页 > 其他分享> > CodeGo.net>如何使用代码重命名文档库中的标题列?

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

作者:互联网

每个人都喜欢重命名列. title列是我的最爱,我似乎无法通过代码对其进行重命名:

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

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

解决方法:

本地化是问题.我需要将TitleResource更改为Title:

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

explained here.

标签:rename,c,sharepoint-2010
来源: https://codeday.me/bug/20191202/2085384.html