使用CSOM在SharePoint ListView Webparts中设置工具栏

问题描述 投票:1回答:1

我正在尝试为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。

有没有其他方法可以实现这一目标?

sharepoint web-parts csom
1个回答
1
投票

没有直接的方法来使用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代码中设置了视图标题。

© www.soinside.com 2019 - 2024. All rights reserved.