2011-01-31 9 views
7

(SharePoint 2010の場合)リストの上にWebパーツを追加しました(標準リストまたはドキュメントライブラリリスト - 問題ありません)。この後、 "リストツール"タブは表示されません。私は、標準のSharePoint Webパーツの1つを追加しても、その問題が存在することが判明しました。Webパーツをページに追加した後、[リストツール]タブは使用できなくなりました

ここで同じ問題と記述がどのようにそれを再現することである。 http://www.endusersharepoint.com/STP/viewtopic.php?f=10&t=2027

が持っている誰もがこのためのソリューションや、実際の回避策を見つけましたか?

//編集:私は "解決策"を見つけました。リボンは「実際の」ウェブパーツと接続されています。 D

+0

あなたは何をやったのですか?私は良い解決のために死にそうです! – bgmCoder

答えて

4

リストをクリックする「問題」を解決し(それにフォーカスを設定する);デバッガでSharePointのJSをステップのトン後)

+0

それは私のために働く、何のバグ;) – RezaRahmati

+0

私はこれが受け入れられた答えであると思う(少なくともSharepointのオンライン)。 – fortuneRice

13

標準リストビューにWebパーツを追加すると、ページはリストビューページに分類されなくなりますが、リストビューのページには表示されなくなります。代わりにアプリケーションページとして分類されます。

これは、リボンメニューとブレッドクラムのビューセレクタが失われたことを意味します。

Microsoft.SharePoint.WebControls.ListTitleViewSelectorMenu.SingleWebPartPresentOnPage

しかし、私は、コードを見つけるように見えることはできません:あなたはでビューセレクタを隠しコードを見ることができ

UPDATE

リボンを隠している。

<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> 

リストのWebパーツゾーン細胞とMSOZoneCell_WebPartWPQ2 IDを交換してください:私はこのコードでコンテンツエディタWebパーツを追加し、これが機能すると思います

UPDATE

オーケーWebパーツを表示します。

+0

「これはうまくいく」と言うとき、更新2は何を意味しますか?これはwebpartを何度も繰り返しクリックしていないのですか? – MgSam

+0

いいえ、彼は 'setInterval'の代わりに' setTimeout'を使用しています。 'setInterval'はその繰り返しを行います。しかし、私はそれを試みたし、私の場合にはうまくいかなかった。 – Renan

+0

私はこれを試して、それは作品の並べ替え(Sharepoint Server 2010)。ページがロードされた後、リボン全体が表示され始めます.jqueryを使用してリストをクリックすると、同じことが起こります。リボンのタブが自動的に開かれることなくリボンのタブが表示されるなら、何が良いでしょうか。 - ああ! @ katrineの答えをチェックしてください - それだけです! – bgmCoder

5

を、私は最終的にこの問題を回避する方法を見つけました。 SharePoint 2010ので

:SharePointの2013ベータ版で

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

:これはスーパーハックされ、そして決してマイクロソフト(によってサポートされているので、それは非常に可能性があります将来のバージョンまたは場合によってはSharePoint 2013のRTMで変更することができます。

また、WebパーツIDが異なる可能性があるので、正しいWebパーツに焦点を当てていることを再度確認する必要があります。

説明:基本的に、SP.Ribbon.WebPartComponentのWebパーツの選択を解除するインスタンスをオーバーライドします。私が知る限り、$ 3/$ 3_1プロパティはSP.Ribbon.WebPartComponentインスタンスへの参照を格納します。

$ 3/$ 3_1プロパティ以外のSP.Ribbon.WebPartComponent以外のインスタンスにアクセスするには、誰かがより良い方法を知っている場合は、この方法をはるかに堅固にしてください。

7

これは私のために働いていましたが、ドキュメントタブを選択して開始しました。デフォルトのブラウズタブを選択してからコードに単純な行を追加しました。デフォルトのタブ:

 <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

ああ!それは私のSharepoint Server 2010でほとんどのことをやっているようだ。ページが読み込まれた後、リボン全体が開いていない状態でリボンタブが見える。ただし、リボンまたはリストの外側の画面で*どこでも*をクリックすると、リボンのタブが再び消えます。 – bgmCoder

+0

なぜタイマー、とにかく?私はタイマーなしで試してみましたが、うまく動作しているように思えました - これは代わりに、これと一緒です: '_spBodyOnLoadFunctionNames.push();' – bgmCoder

+0

私は同じ問題があります。リストの外をクリックすると、それは消えます。 – Kode

関連する問題