2016-12-07 1 views
0

J'ai une liste avec plusieurs vues (environ 15 vues). Comment puis-je ajouter un même ensemble de boutons à toutes les vues sous le titre de la page et la partie Web de la liste ci-dessus? J'ai un concepteur SharePoint. J'ai utilisé la partie Web de l'éditeur de contenu, mais je dois l'ajouter à toutes les pages d'affichage aspx et ajouter le même ensemble de boutons. De meilleures solutions?vues de liste Sharepoint 2013 avec la barre de menu commune boutons

Merci Venky

Répondre

0

Vous pouvez lire les vues existantes avec javascript (JSOM) pour récupérer toutes les vues existantes sur la liste spécifiée.

Dans la fonction OnQuerrySucceed lors de la lecture en boucle des vues, vous pouvez générer un bouton et ajouter le DOM. Par exemple dans votre éditeur de contenu, ajoutez un élément et appuyez sur les boutons dans leur.

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()); 
}