如何在SharePoint 2010中的XSLT列表Web部件中隐藏列表功能区?

时间:2010-08-24 21:45:20

标签: list sharepoint-2010 web-parts

在SharePoint 2010中,我在网站上有一个自定义列表“客户端”。在网站的主页上,我添加了客户端列表Web部件。当我在浏览器中访问主页并单击该列表中的任何位置时,它会显示“列表工具”功能区组,其中包含“项目”和“列表”功能区。单击列表时我根本不需要这些色带。我该如何实现这一目标?我应该禁用列表上的点击事件,以便不显示这些色带吗?如何禁用列表中的单击事件?或者在点击列表时我该怎么做才能隐藏这些色带?

基本上我希望它的行为与内容查询Web部件相同。在内容查询Web部件中,如果单击其中的任何位置,则不会显示任何额外的功能区。我希望列表Web部分具有相同的行为。

由于 Hitesh

1 个答案:

答案 0 :(得分:0)

一种方法是遵循此博客文章中概述的教程:Remove actions from the ribbon: SharePoint 2010

最终结果是一个UserControl,您可以放置​​在任何页面上并“修剪”(即隐藏)功能区的某些部分:整个选项卡,或功能区上的单个组或按钮。

如果您遵循博客中的指定解决方案,那么您将在Page_Load事件中添加以下行:

SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
if (ribbon != null) {
  ribbon.TrimById( SPRibbon.ListTabId );
  ribbon.TrimById( SPRibbon.ListItemTabId );
}

可在以下位置找到其他功能区元素ID:

当然,使用此方法的缺点是您隐藏的特定功能区元素在UserControl中是硬编码的。为了解决这个问题,我使用UserControl作为创建Web部件的基础,允许您通过属性定义要隐藏的功能区元素。它运行良好,通用性足以适用于许多不同的场景。