我正在尝试为SharePoint列表视图Web部件设置工具栏。我可以在SSOM中完成此操作,但无法在CSOM中完成。我已经尝试通过更新列表视图webpart的XMLDefinition属性中的工具栏类型元素。但它没有用。我也尝试通过如下方法获取MethodInfo。
Type[] toolbarMethodParamTypes = { Type.GetType("System.String") };
MethodInfo setToolbarTypeMethod = webpartView.GetType().GetMethod("SetToolbarType", BindingFlags.Instance | BindingFlags.NonPublic, null, toolbarMethodParamTypes, null);
但它返回null。
有没有其他方法可以实现这一目标?
没有直接的方法来使用CSOM设置工具栏。所以我们决定使用Jquery设置工具栏。我在webpart proerties的JSLink中添加了以下脚本。
function hideToolbar(renderCtx) {
var toolbar=renderCtx.viewTitle;
if(toolbar != "")
{
if(toolbar=="None")
renderCtx.ListSchema.Toolbar="None";
else if(toolbar=="Freeform")
renderCtx.ListSchema.Toolbar="Freeform";
}
}
(function () {
var overrideContext = {};
overrideContext.Templates = {};
overrideContext.OnPreRender = hideToolbar;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideContext);
})();
当页面中添加了Web部件时,我在我的CSOM代码中设置了视图标题。