使用javascript修改SharePoint 2013列表列标题

使用javascript修改SharePoint 2013列表列标题,javascript,sharepoint,sharepoint-2013,Javascript,Sharepoint,Sharepoint 2013,我想用javascript修改视图中的SharePoint 2013列表列标题。我在stackoverflow找到了一个代码,但我想用显示名称/内部名称引用列,而不是列位置 (function () { function preTaskFormRenderer(renderCtx) { modifyHeaderData(renderCtx); } function modifyHeaderData(renderCtx) {

我想用javascript修改视图中的SharePoint 2013列表列标题。我在stackoverflow找到了一个代码,但我想用显示名称/内部名称引用列,而不是列位置

(function () { function preTaskFormRenderer(renderCtx) { modifyHeaderData(renderCtx); } function modifyHeaderData(renderCtx) { var viewTitle = renderCtx.viewTitle; var linkTitleField = renderCtx.ListSchema.Field[1]; linkTitleField.DisplayName = viewTitle + ':' + linkTitleField.DisplayName; } function registerRenderer() { var ctxForm = {}; ctxForm.Templates = {}; ctxForm.OnPreRender = preTaskFormRenderer; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctxForm); } ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'clienttemplates.js'); })(); 例如:

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {

   SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
     OnPreRender: function(ctx) {

        var field = getFieldByDisplayName(ctx,"Task Name"); 
        if(field)
            field.DisplayName = "Task Name:::"; 
     }
   }); 

});


function getFieldByDisplayName(ctx,name)
{
    var result  = ctx.ListSchema.Field.filter(function(f){return f.DisplayName == name;} ); //find field by display name
    return result.length > 0 ? result[0] : null;
}
结果