Sharepoint 2013列表视图与常用按钮菜单栏

时间:2016-12-07 03:11:46

标签: sharepoint sharepoint-2013 sharepoint-designer

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

由于 Venky

1 个答案:

答案 0 :(得分:0)

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

在OnQuerrySucceed函数中循环浏览视图时,您可以生成一个按钮并将其添加到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());
}