如何获取特定视图的计数列表项? 我想摆脱pivotControl-overflowDot,所以列表中的所有视图都显示而不点击点。
我有以下代码:
<script>
function renderHeaderTemplateForDocuments(renderCtx, fRenderHeaderColumnNames){
var viewData = eval(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
ClientPivotControl.prototype.SurfacedPivotCount = 20;
return RenderHeaderTemplate(renderCtx, fRenderHeaderColumnNames);
var menu = $('ms-pivotControl-overflowDot');
menu.style.display = "none";
}
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates: {
Header: renderHeaderTemplateForDocuments
}
});
</script>
我不知道元素的数量,我将SurfacedPivotCount设置为20, 但我希望SurfacedPivotCount是动态的,基于视图元素的数量。
谢谢!
答案 0 :(得分:1)
通过CSR自定义SharePoint列表时,可以确定可用列表视图选项的数量,如下所示:
var viewData = JSON.parse(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
var numOfViews = viewData.length - 3; //system menu options such as Create View, Modify View and menu delimiter are exluded
示例强>
以下示例演示了如何显示所有可用的列表视图选项
function renderHeaderTemplateForList(renderCtx, fRenderHeaderColumnNames){
var viewData = JSON.parse(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
var numOfViews = viewData.length - 3;
ClientPivotControl.prototype.SurfacedPivotCount = numOfViews;
return RenderHeaderTemplate(renderCtx, fRenderHeaderColumnNames); //render default Header template
}
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates: {
Header: renderHeaderTemplateForList
}
});
<强>结果强>