码迷,mamicode.com
首页 > 其他好文 > 详细

SharePoint 2013 中文站点更新列表字段的标题(Title)不能work

时间:2014-05-15 01:13:19      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:sharepoint 2013   中文站点   更新列表字段的标题   不能work   

本文讲述SharePoint 2013 中文站点更新列表字段的标题(Title)不能work的解决方案。

笔者的项目环境是个Varation的站点集,有中文和英文两个子站点。

但是下面创建不修改字段标题的代码,修改标题部分在英文站点里面可以工作,但中文站点里面没有效果:

string dateField = myList.Fields.Add("DateFiled", SPFieldType.DateTime, false, false, null);
SPFieldDateTime dateFieldColumn = myList.Fields["DateFiled"] as SPFieldDateTime;
dateFieldColumn.DisplayFormat = SPDateTimeFieldFormatType.DateOnly;
string dateFieldColumnColumnTitle = "Date Field";                  
if (language == "zh-cn")
{
   dateFieldColumnColumnTitle= "日期字段";
}


dateFieldColumn.Title = dateFieldColumnColumnTitle;
dateFieldColumn.PushChangesToLists = true;                   
                
dateFieldColumn.Update(true);                  
dateFieldColumn.TitleResource.SetValueForUICulture(web.UICulture, dateFieldColumnColumnTitle);
dateFieldColumn.TitleResource.Update();
myList.Update();


后来查了下,用reflector 查看  SPField.Title 的set 代码

bubuko.com,布布扣
发现在我这种条件下,刚好不会更新DisplayName,可能是微软的一个Bug 吧。

于是果断自己更新SchemaXml 后终于可以在中文站点正常工作了

string dateField = myList.Fields.Add("DateFiled", SPFieldType.DateTime, false, false, null);
SPFieldDateTime dateFieldColumn = myList.Fields["DateFiled"] as SPFieldDateTime;
dateFieldColumn.DisplayFormat = SPDateTimeFieldFormatType.DateOnly;
string dateFieldColumnColumnTitle = "Date Field";                  
if (language == "zh-cn")
{
   dateFieldColumnColumnTitle= "日期字段";
}

dateFieldColumn.Title = dateFieldColumnColumnTitle;
dateFieldColumn.PushChangesToLists = true;
                   
dateFieldColumn.SchemaXml = dataFieldColumn.SchemaXml.Replace(
                       "DisplayName=\"DateField\"",
                       string.Format("DisplayName=\"{0}\"", dateFieldColumnColumnTitle));

dateFieldColumn.Update(true);                  
dateFieldColumn.TitleResource.SetValueForUICulture(web.UICulture, dateFieldColumnColumnTitle);
dateFieldColumn.TitleResource.Update();
myList.Update();


SharePoint 2013 中文站点更新列表字段的标题(Title)不能work,布布扣,bubuko.com

SharePoint 2013 中文站点更新列表字段的标题(Title)不能work

标签:sharepoint 2013   中文站点   更新列表字段的标题   不能work   

原文地址:http://blog.csdn.net/abrahamcheng/article/details/25768855

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!