2011-01-31 15 views
7

'u ekledikten sonra webpartımın üst listesini ekledim (standart liste veya belgeler kitaplığı listesi - önemli değil). Bu "Liste Araçları" sekmesinden sonra görünmez. Bir miktar kazma işleminden sonra, standart SharePoint WebPart'larından birini eklesem bile bu sorun var."Liste Araçları" sekmesi artık Webpart'ı SharePoint 2010'a ekledikten sonra

Burada aynı sorun ve açıklama nasıl yeniden şudur: http://www.endusersharepoint.com/STP/viewtopic.php?f=10&t=2027

Has kimse bu çözüm ya da gerçek çözüm bulundu?

// DÜZENLEME: Bir "çözüm" buldum. Şerit "gerçek" webpart ile bağlanır. Listeye bir kez tıklayın (odağı ayarlamak için) ve sekme tekrar görünür: D

+0

Ne yaptınız? İyi bir çözüm için ölüyorum! – bgmCoder

cevap

4

listesinde tıklandığında "sorun" çözüldü (bunun netlik ayarı); bir ayıklayıcısında SharePoint JS arasında adım adım bir ton sonra)

+0

Benim için çalışıyor, Ne bir hata;) – RezaRahmati

+0

Bence bu kabul edilen cevap olmalı (en azından Sharepoint online için). – fortuneRice

13

Standart liste görünümlerine bir web parçası eklediğinizde, sayfa artık liste görünümü sayfası olarak sınıflandırılmaz. bunun yerine bir uygulama sayfası olarak sınıflandırılır.

Bu, şerit menüsünün yanı sıra, kırıntıdaki görünüm seçiciyi de kaybedeceğiniz anlamına gelir.

You görünüm seçici gizler kodunu görebilirsiniz

GÜNCELLEME:

Microsoft.SharePoint.WebControls.ListTitleViewSelectorMenu.SingleWebPartPresentOnPage

Ama kodunu bulmak gibi olamaz Bu şeridi saklar.

GÜNCELLEME

Tamam ben bu bu kodla bir içerik editörü web bölümü ekleyin çalışacağını düşünüyorum:

<script> 
setTimeout(function() { 
    var elem = document.getElementById("MSOZoneCell_WebPartWPQ2"); 
    if(elem != null) { 
     var dummyevent = new Array(); 
     dummyevent["target"] = elem; 
     dummyevent["srcElement"] = elem; 
     WpClick(dummyevent); 
    } 
}, 2000); 
</script> 

listenin web bölümü bölge hücre ile MSOZoneCell_WebPartWPQ2 id değiştirin web bölümünü görüntüleyin.

+0

Güncelleştirme 2, "bu işe yarayacak" derken ne anlama geliyor? Bu tekrar tekrar web partisine tıklamak değil mi? – MgSam

+0

Hayır, "setInterval" yerine "setTimeout" kullanıyor. 'setInterval' bunu tekrar eder. Ancak bunu denedim ve davamda işe yaramadı. – Renan

+0

Bunu denedim ve bu tür işler (Sharepoint Server 2010). Sayfa yüklendikten sonra, şeridin tamamı gösterilmeye başlar - listede "tıklamak" için jquery kullanırsanız aynı şeyi alırsınız. Şerit sekmeleri şerit otomatik olarak açılmadan gösterilecekse daha iyi olur. - Ah! @ Katrin'in cevabını kontrol edin - bu sadece bunu yapar! – bgmCoder

5

, sonunda bu sorunu önlemek için bir yol buldum. SharePoint 2010'da

:

SharePoint 2013 Beta olarak
//Set focus on our list web part 
var webPart = document.getElementById('WebPartWPQ1'); 
WpClick({target: webPart}); 

//Prevent it from losing focus 
SP.Ribbon.WebPartComponent.$3_1.deselectWebPartAndZone = function() { }; 

:

//Set focus on our list web part 
var webPart = document.getElementById('MSOZoneCell_WebPartWPQ2'); 
WpClick({target: webPart}); 

//Prevent it from losing focus 
SP.Ribbon.WebPartComponent.$3.deselectWebPartAndZone = function() { }; 

Not: Bu-süper hacky ve Microsoft tarafından desteklenen hiçbir şekilde (böylece çok büyük olasılıkla gelecek sürümde veya muhtemelen SharePoint 2013 RTM'sinde değişiklik yapmak için). Ayrıca, web bölüm kimliğinizin farklı olabileceğini de unutmayın, bu nedenle doğru web bölümüne odaklandığınızı iki kez kontrol etmelisiniz.

Açıklama: Temel olarak SP.Ribbon.WebPartComponent'un web bölümünün seçimini kaldırma yeteneğini geçersiz kılar. Anlatabildiğim kadarıyla, 3 $/$ 3_1 mülkünde SP.Ribbon.WebPartComponent örneğine bir başvuru yer alıyor.

SP.Ribbon.WebPartComponent örneğinin 3 $/$ 3_1 mülkünden başka birisine erişmenin daha iyi bir yolu olduğunu bilen varsa, bu yöntemi daha sağlam hale getireceğinden lütfen yukarı çıkın.

7

Bu benim için çalıştı, ancak seçilen belgeler sekmesiyle başlıyor ve başlangıç ​​olarak seçili varsayılan gözatma sekmesine sahip olmayı tercih ettim, bu yüzden yalnızca basit bir satır ekledim, varsayılan sekmeyi yeniden seç:

 <script> 
     setTimeout(function() { 
     var elem = document.getElementById("MSOZoneCell_WebPartWPQ2"); 
      if(elem != null) { 
       var dummyevent = new Array(); 
       dummyevent["target"] = elem; 
       dummyevent["srcElement"] = elem; 
       WpClick(dummyevent); 
       _ribbonStartInit("Ribbon.Browse", true) 
      } 
     }, 2000); 
     </script> 
+0

Ah! Bu neredeyse SharePoint Server 2010'daki hile yapmak gibi görünüyor. Sayfa yüklendikten sonra, şerit şeridini tüm şerit açıklığı olmadan görebilirim; Ancak, şeridin veya listenin dışındaki ekranda * herhangi bir yere * tıklarsam şerit sekmeleri tekrar kaybolur. – bgmCoder

+0

Neden zamanlayıcı, neyse? Zamanlayıcı olmadan denedim ve sadece iyi çalışıyor gibi görünüyordu - iyi, bunun yerine: '_spBodyOnLoadFunctionNames.push();' – bgmCoder

+0

Aynı sorunu yaşıyorum. Listenin dışını tıklarsam, gider. – Kode

İlgili konular