带有常用按钮菜单栏的 Sharepoint 2013 列表视图

Posted

技术标签:

【中文标题】带有常用按钮菜单栏的 Sharepoint 2013 列表视图【英文标题】:Sharepoint 2013 list views with common buttons menu bar 【发布时间】:2017-04-21 21:13:47 【问题描述】:

我有一个包含多个视图的列表(大约 15 个视图)。如何向页面标题下方和列表 Web 部件上方的所有视图添加一组相同的按钮?我有 SharePoint 设计器。我使用了内容编辑器 web 部件,但我需要将它添加到所有视图 aspx 页面并添加相同的按钮集。 有更好的解决方案吗?

谢谢 文基

【问题讨论】:

【参考方案1】:

您可以使用 javascript (JSOM) 读取现有视图以检索指定列表中的所有现有视图。

OnQuerySucceed 函数中循环浏览视图时,您可以生成一个按钮并将其添加到DOM。例如,在您的内容编辑器中添加一个元素并按下其中的按钮。

var viewCollection = null;

function runCode() 

var clientContext = new SP.ClientContext.get_current();
if (clientContext != undefined && clientContext != null) 
    var web = clientContext.get_web();

    var listCollection = web.get_lists();
    var list = listCollection.getByTitle("Tasks");
    this.viewCollection = list.get_views();

    var viewInfo = new SP.ViewCreationInformation();
    viewInfo.set_title('MyView');
    this.viewCollection.add(viewInfo);

    clientContext.load(this.viewCollection);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));



function onQuerySucceeded() 
    var viewInfo = 'Tasks list current views: \n\n';
    var viewEnumerator = this.viewCollection.getEnumerator();
    while (viewEnumerator.moveNext()) 
        var view = viewEnumerator.get_current();
        viewInfo += view.get_title() + '\n';
    
    alert(viewInfo);


function onQueryFailed(sender, args) 
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());

【讨论】:

以上是关于带有常用按钮菜单栏的 Sharepoint 2013 列表视图的主要内容,如果未能解决你的问题,请参考以下文章

带有标签栏的左侧菜单?

带有固定菜单栏的响应式列

滚动上带有隐藏导航栏的页面菜单

带有多个菜单栏的 Win32 中的 Windows 应用程序?

带有菜单栏的 QT HTML5 像真正的程序

带有透明导航栏的可见按钮