SharePoint自定义字段类型视图显示

时间:2013-12-06 15:51:49

标签: c# sharepoint sharepoint-2013

我在SharePoint 2013中创建了一个继承自SPFieldUser字段的自定义字段类型。我将覆盖默认值,以便自动默认用户的管理员。在新的,编辑和显示表单上一切正常但我无法在列表视图上正确格式化。 html在页面上呈现为文本而不是html。我从SPFieldUser控件复制了RenderPatterns,但这似乎没有对它的渲染方式产生任何影响。 还有别的东西我可能会丢失,或者之前有人见过这个吗?

1 个答案:

答案 0 :(得分:0)

从版本14(SharePoint 2010)开始,RenderPattern为obsolete。因此,RenderPattern不会影响Field在列表视图中的呈现方式。

要为自定义字段定义自定义渲染,请按照How to: Customize a field type using client-side rendering进行操作。 由于客户端呈现(CSR)是SharePoint 2013中的默认呈现机制,因此指定的文章描述了在通过CSR在视图表单中显示自定义字段类型时,如何提供自定义字段类型的呈现逻辑。

实施例

下面的代码演示了如何在视图表单中显示自定义字段类型(FavoriteColorField)的呈现逻辑

(function () { 
    var favoriteColorContext = {}; 

    // You can provide templates for: 
    // View, DisplayForm, EditForm and NewForm 
    favoriteColorContext.Templates = {}; 
    favoriteColorContext.Templates.Fields = { 
        "FavoriteColorField": { 
            "View": favoriteColorViewTemplate 
        } 
    }; 

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides( 
        favoriteColorContext 
        ); 
})(); 

// The favoriteColorViewTemplate provides the rendering logic 
//  the custom field type when it is displayed in the view form. 
function favoriteColorViewTemplate(ctx) { 
    var color = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; 
    return "<span style='background-color : " + color + 
        "' >&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;" + color; 
} 

enter image description here

可以从here

下载代码示例

基于XSL的呈现在SharePoint 2013中仍然有效,为了定义自定义字段的自定义呈现,请参阅How to: Customize the Rendering of a Field on a List Viewthis answer