Sharepoint 2013 JSLink TaskList自定义项呈现,带有开箱即用的选项

时间:2013-04-04 14:39:19

标签: sharepoint sharepoint-2013 tasklist

我无法找到使用JSLink自定义SP2013任务列表项目渲染的方法,以便完全改变列表项目的呈现方式,但也保留了默认提供的所有开箱即用功能。

我的意思是,我想将列表元素显示为彩色框,还要保留排序选项,“...”(打开菜单)图标等。

我怎样才能实现它?是否有任何文档可以找到所有内部字段的列表,如PercentComplete等,哪些渲染可以覆盖?

任何代码片段都会非常感激!

非常感谢!

1 个答案:

答案 0 :(得分:1)

看看here

简而言之,您要做的是,在覆盖上下文对象中的Templates对象上添加一个名为Fields的对象。在此对象中,名称与列(字段)的静态名称相同的属性用于使用“视图”属性呈现值。所以,链接的例子是:

var overrideCtx = {};
overrideCtx.Templates = {};
// Override field data
overrideCtx.Templates.Fields = {
    // PercentComplate = internal name of the % Complete
    // View = you want to change the field rendering of a view
    // <div ... = here we define what the output of the field will be.
    'PercentComplete': { 'View' : '<div style="background: #F3F3F3; display:block; height: 20px; width: 100px;"><div style="background: #0072C6; height: 100%; width: <#=ctx.CurrentItem.PercentComplete.replace(" %", "")#>%;"></div></div>' }
};
// Register the override of the field
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx

使用此方法,您将保留其他字段中的默认功能。只需确保列在当前视图中可见。