2016-12-07 14 views
0

私は複数のビュー(約15ビュー)のリストを持っています。ページタイトルの下にあるリストのWebパーツの下にあるすべてのビューに同じボタンセットを追加するにはどうすればよいですか?私はSharePointデザイナーを持っています。私はコンテンツエディタのWebパーツを使用していますが、私はそれをすべてのビューaspxページに追加し、同じセットのボタンを追加する必要があります。 もっと良い解決策はありますか?Sharepoint 2013共通のメニューバーを持つリストビュー

おかげ Venky

答えて

0

あなたは指定されたリスト上のすべての既存のビューを取得するためには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()); 
} 
関連する問題