2016-12-07 2 views
0

여러보기 (약 15 개보기)가있는 목록이 있습니다. 페이지 제목 아래의 목록보기 웹 파트 아래에있는 모든보기에 동일한 단추 집합을 추가하려면 어떻게합니까? SharePoint 디자이너가 있습니다. 나는 컨텐츠 편집기 웹 파트를 사용했지만 모든보기 aspx 페이지에 추가하고 동일한 버튼 세트를 추가해야합니다. 더 나은 솔루션이 있습니까?Sharepoint 2013 공통 메뉴 모음이있는 목록보기

감사 Venky

답변

0

당신은 지정된리스트에있는 모든 기존 뷰를 검색하는 자바 스크립트 (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()); 
}