0

Ich möchte, dass, wenn ein Benutzer eine bestimmte Seite mit Project Center-Webpart besucht, sie ihre Ansicht bereits gesetzt (erzwungen) haben sollte, z. "Zusammenfassung", "Earned Value" usw.Wie erzwingen Sie eine Project Center-Ansicht auf Project Server 2013?

Ich weiß, dass die Ansicht an die letzte Sitzung des Benutzers gebunden ist, also wenn der Benutzer bei seinem letzten Besuch die Ansicht in "Earned Value" geändert hat, wird der nächste sein " Verdienter Wert".

Wie kann ich erzwingen, dass jedes Mal, wenn ein Benutzer die Seite mit dem Project Center-Webpart öffnet, sie immer die Ansicht "Zusammenfassung" öffnet?

Danke.

Antwort

0

Dies ist eine JavaScript-Lösung, die ich schrieb, dass verwendet einen Abfrage-String-Parameter "viewuid" (GUID für die Ansicht), um die Ansicht zu setzen

var projCenterExt; 
var JsGridSatellite; 

_spBodyOnLoadFunctionNames.push("projCenterChangeView") 

function projCenterChangeView() 
{ 
    if (window.location.search.toLowerCase().indexOf("viewuid") >= 0) 
    { 
     var JsGridViewUid = window.location.search.toLowerCase().split("viewuid=")[1].split("&")[0]; 

     if (typeof projectCenterComponent !== 'undefined') 
     { 
     if (typeof JsGridSatellite === 'undefined') JsGridSatellite = projectCenterComponent.get_GridSatellite(); 

     JsGridSatellite.LoadNewView({uid: JsGridViewUid}); 
     } 
    } 
} 
0

Dank Papa Daniel. Du hast uns gestartet, aber das würde nur in Chrome funktionieren. Wir mussten eine Pause einfügen und dann funktionierte es in I.E. Nur um klar zu sein, müssen Sie die GUID der Ansicht finden, die Sie anzeigen und in Ihrem Hyperlink verwenden möchten.

Hier ist mein Beispiel http://projectserver/PWA/SitePages/ITDDash.aspx?idViewUID=38f25d41-2391-4ed4-b84e-2befec36b80b

var projCenterExt; 
 
var JsGridSatellite; 
 

 
_spBodyOnLoadFunctionNames.push("projCenterChangeView") 
 
//console.debug("before projCenterChangeView"); 
 
function projCenterChangeView() 
 
{ 
 
//alert("in projCenterChangeView"); 
 
//console.debug("before 3 secs"); 
 
setTimeout(function(){ 
 
    //alert("in if:"+window.location.search.toLowerCase().indexOf("viewuid")); 
 
    
 
if (document.location.search.toLowerCase().indexOf("viewuid") >= 0) 
 
    
 
{ 
 
     
 

 
    var JsGridViewUid = document.location.search.toLowerCase().split("viewuid=")[1].split("&")[0]; 
 
//alert("in if:"+JsGridViewUid); 
 
     if (typeof projectCenterComponent !== 'undefined') 
 
     { 
 
     if (typeof JsGridSatellite === 'undefined'){ 
 
    \t  //console.debug("JsGridSatellite kis undefined"); 
 
     \t JsGridSatellite = projectCenterComponent.get_GridSatellite(); 
 
       //alert("jjc test"); 
 
     } 
 
     JsGridSatellite.LoadNewView({uid: JsGridViewUid}); //orig 
 
     } 
 
//JsGridSatellite.LoadNewView({uid: JsGridViewUid}); 
 
     
 
    } 
 

 
//console.debug("after 3 secs"); 
 
}, 1000); 
 
//alert("at end"); 
 
}