2011-01-31 59 views
7

后,“列表工具”选项卡不再可用我已将我的webpart上面的列表(标准列表或文档库列表 - 它并不重要)添加到列表中。此后“列表工具”选项卡不可见。经过一番挖掘,我发现,即使添加一个标准SharePoint WebParts,也存在该问题。将webpart添加到SharePoint 2010中的页面

这里也是同样的问题,并说明如何重现它: http://www.endusersharepoint.com/STP/viewtopic.php?f=10&t=2027

有没有人找到了解决办法或实际的办法解决这个?

//编辑:我找到了一个“解决方案”。功能区与“实际”webpart连接。点击列表(将焦点置于该列表上)并且该选项卡再次可见:D

+0

你最终做了什么?我渴望得到一个好的解决方案! – bgmCoder 2014-11-14 17:56:27

回答

4

点击列表(在其设置焦点)解决了“问题”;)

13

将Web部件添加到标准列表视图时,页面不再被列为列表视图页面,但相反,它被归类为应用程序页面。

这意味着您将失去功能区菜单以及面包屑中的视图选择器。

UPDATE

你可以看到,在隐藏视图选择代码:

Microsoft.SharePoint.WebControls.ListTitleViewSelectorMenu.SingleWebPartPresentOnPage但我似乎

无法找到该代码隐藏功能区。

UPDATE

好吧,我想这会工作,有了这个代码添加一个内容编辑器Web部件

<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查看网页部分。

+0

当你说“这会工作”时,更新2意味着什么。这不就是一次又一次地点击webpart吗? – MgSam 2012-08-27 21:50:54

+0

不,他正在使用`setTimeout`而不是`setInterval`。 `setInterval`会使这个重复。但是,我尝试了这一点,但对我而言并不奏效。 – Renan 2013-05-07 13:42:01

+0

我试过了,它有点作品(Sharepoint Server 2010)。加载页面后,整个功能区开始显示 - 如果您使用jquery在列表中单击“”,则会得到相同的结果。如果功能区选项卡显示时没有自动打开功能区,会更好。 - 啊!退房@ katrine的答案 - 就是这样! – bgmCoder 2013-07-31 21:22:44

5

一吨通过SharePoint JS在调试器步进之后,我终于找到了一种方法,以防止此问题。

在SharePoint 2010:

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

在SharePoint 2013测试版:

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

注意:这是超级哈克,并且不以任何方式支持通过Microsoft(因此它很可能在将来的版本甚至SharePoint 2013的RTM中进行更改)。

此外,请注意您的Web部件ID可能会有所不同,因此您应该仔细检查您是否将注意力集中在正确的Web部件上。

说明:它基本上覆盖了SP.Ribbon.WebPartComponent取消选择Web部件的实例。从我所知道的情况来看,3美元/ 3美元的房产存储了对SP.Ribbon.WebPartComponent实例的引用。

如果有人知道更好的方式来访问SP.Ribbon.WebPartComponent实例,而不是$ 3/$ 3_1属性,请说出来,因为这将使该方法更加稳健。

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> 
相关问题