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

Posted

技术标签:

【中文标题】如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?【英文标题】:How to hide the list ribbon in XSLT List Web part in SharePoint 2010? 【发布时间】:2011-04-03 10:37:38 【问题描述】:

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

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

谢谢 希特什

【问题讨论】:

【参考方案1】:

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

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

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

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

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

As referenced in the CMDUI.xml XML file As defined by public fields on SPRibbon(在上面的示例中使用)

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

【讨论】:

以上是关于如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?的主要内容,如果未能解决你的问题,请参考以下文章

Sharepoint 2010 内容按查询 Web 部件(ddwrt:格式日期)

SharePoint 网站集中没有样式库,无法引用 XSL 文件

SharePoint 内容查询、分类术语库和 XSL 转换

是否有 SharePoint XSLT 扩展功能的参考?

如何在xls中输出所有xml?

如何在 SharePoint 2010 中查看/编辑 SQL 表的扩展属性 [重复]