【问题标题】:Setting Toolbar in SharePoint ListView Webparts using CSOM使用 CSOM 在 SharePoint ListView Webparts 中设置工具栏
【发布时间】:2017-12-08 23:41:21
【问题描述】:

我正在尝试为 SharePoint 列表视图 Web 部件设置工具栏。我可以在 SSOM 中做到这一点,但在 CSOM 中不能。我尝试通过更新列表视图 webpart 的 XMLDefinition 属性中的 Toolbar 类型元素。但它没有用。 我也尝试通过获取 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】:

    没有使用 CSOM 设置工具栏的直接方法。所以我们决定使用Jquery来设置工具栏。我在 webpart 属性的 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 代码中设置了 ViewTitle。

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 2010-11-27
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多