在SharePoint 2010中,我在网站上有一个自定义列表“客户端”。在网站的主页上,我添加了客户端列表Web部件。当我在浏览器中访问主页并单击该列表中的任何位置时,它会显示“列表工具”功能区组,其中包含“项目”和“列表”功能区。单击列表时我根本不需要这些色带。我该如何实现这一目标?我应该禁用列表上的点击事件,以便不显示这些色带吗?如何禁用列表中的单击事件?或者在点击列表时我该怎么做才能隐藏这些色带?
基本上我希望它的行为与内容查询Web部件相同。在内容查询Web部件中,如果单击其中的任何位置,则不会显示任何额外的功能区。我希望列表Web部分具有相同的行为。
由于 Hitesh
答案 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部件的基础,允许您通过属性定义要隐藏的功能区元素。它运行良好,通用性足以适用于许多不同的场景。