如何将选择字段的文本转换为图标?

2024-03-18

救救吧,伙计们!我的共享点页面中有一个选择字段,其中的选项如下:

(1) Go
(2) Warning
(3) Stop

现在,我希望它以图标而不是文本的形式出现在列表中。我有一个可用的 jquery 脚本,但需要很长时间才能搜索所有列表中包含的文本,而且无论如何使用 xsl 会更好,因为它在显示之前呈现。

那么如何在 xsl 中实现这一点呢?这是我所得到的,因为我只学习 xsl:

<xsl:stylesheet 
  xmlns:x="http://www.w3.org/2001/XMLSchema" 
  xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" 
  version="1.0" 
  exclude-result-prefixes="xsl msxsl ddwrt" 
  xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" 
  xmlns:asp="http://schemas.microsoft.com/ASPNET/20" 
  xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
  xmlns:SharePoint="Microsoft.SharePoint.WebControls" 
  xmlns:ddwrt2="urn:frontpage:internal">

    <!-- Convert the Scope Field into an icon -->
    <xsl:template match="FieldRef[@Name='Scope']">
        <xsl:param name="thisNode" select="."/>
        <xsl:choose>
            <xsl:when test="$thisNode/@Scope='(1) Go'">
                <td class="statusRating1"></td>
            </xsl:when>
            <xsl:when test="$thisNode/@Scope='(2) Warning'">
                <td class="statusRating2"></td>
            </xsl:when>
            <xsl:when test="$thisNode/@Scope='(3) Stop'">
                <td class="statusRating3"></td>
            </xsl:when> 
            <xsl:otherwise>
                <xsl:value-of select="$thisNode/@Scope" />
            </xsl:otherwise>                
        </xsl:choose>
    </xsl:template> 

 </xsl:stylesheet>

这是我要应用的CSS:

.statusRating1{background-image: url("/_layouts/custom/images/go.png"); }
.statusRating2{background-image: url("/_layouts/custom/images/warning.png"); }
.statusRating3{background-image: url("/_layouts/custom/images/stop.png"); }

现在,我已经尝试过有或没有mode="Choice_body" or mode="MultiChoice_body乃至Text_body,并且还尝试添加<xsl:apply-templates />但它似乎从来没有上钩过。该列肯定被命名为“Scope”。也许我只需要添加正确的模式 https://sharepoint.stackexchange.com/questions/54081/what-is-the-xslt-mode-binding-for-a-choice-field?

在 firebug 中,我可以看到该类从未添加。

[update]我注意到,在我以这种方式使用模板的其他地方,模板永远不会“采用”,除非它具有正确的mode定义的。然而,我用谷歌搜索了全世界,但找不到合适的mode用于选择字段。我什至创建了一个问题that, here https://sharepoint.stackexchange.com/questions/54081/what-is-the-xslt-mode-binding-for-a-choice-field。另外,使用thisNode来自微软的例子 http://msdn.microsoft.com/en-us/library/ff606773.aspx?ppud=4,您可以在其中非常轻松地修改字段类型(除了此处选择字段的情况)。


为了定义自定义渲染 http://msdn.microsoft.com/en-us/library/ff606773.aspx for a SP字段选择 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldchoice.aspx模板中的字段mode属性应该是使用值body

带名称的模式模板Choice_body MultiChoice_body没有定义。

所以,就你的情况而言template看起来像这样:

<xsl:template match="FieldRef[@Name='Scope']" mode="body">

为呈现 SharePoint 字段定义的模板模式属性未记录在案,但您可以在以下位置找到此信息:%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\XSL\fldtypes.xsl。查看模板的实现打印域了解详情。

希望这可以帮助,

Vadim

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将选择字段的文本转换为图标? 的相关文章

  • 解析XML文件以获取所有命名空间信息

    我希望能够从给定的 XML 文件中获取所有名称空间信息 例如 如果输入 XML 文件类似于
  • 大型 XML 的 XML 节点到字符串转换

    到目前为止我一直在使用DOM源在我的 Android 应用程序中将 XML 文件转换为字符串 这是我的代码 public String convertElementToString Node element throws Transform
  • SPGridView、数据以及确保数据安全的正确方法

    我正在使用 SPGridView 来呈现一些数据 并启用了效果很好的过滤功能 直到您选择数据中的特定项目进行过滤 有问题的数据项在字符串中包含撇号 例如 这是 richards 的字符串 这会导致后过滤器应用程序页面加载因错误而终止 Syn
  • 如何保留标记?

    我有一个包含新闻报道的 XML 文档 并且新闻报道的 body 元素在纯文本中包含 p 标签 当我使用 XSL 检索正文时 例如
  • 使用 XSLT 的两列表

    这是我正在处理的 XML 数据的一部分
  • XSL - 复制元素但删除未使用的命名空间

    我有一些 XML 声明了一个仅用于属性的命名空间 如下所示 a b b a
  • 在 XML/XSL 文件中包含 XML 文件

    所以目前我正在做一些 XML gt XSLT gt HTML5 CSS3 工作 现在我有一个 menu xml 文件 我想将其包含在 XSL 文件或 XML 页面中 我已经进行了大量搜索 但无法找到直接的答案 那么 如何将一个 XML 文件
  • 如何选择将特定节点作为子节点的第一个前同级节点?

    我一直在尝试编写一个 XPath 语句 它将选择节点的第一个前同级节点 该兄弟节点应该有一个特定的节点作为其子节点 例如 a a
  • XSLT 根据元素值删除重复节点

    我是 XSLT 的新手 你能帮助我使用 xslt 来实现以下输出吗 在我的输入 xml 中有重复的节点 我必须根据元素 CustAccId 值删除不应重复的节点 输入xml
  • xslt 展平 DocBook para 元素中的子元素

    我正在将一些生成的 DocBook xml 来自 Doxygen 转换为我公司的 xml 这实际上是 DocBook 的子集 有一个类似如下的 para 元素
  • Microsoft.SharePoint.ApplicationPages 上的访问被拒绝

    在我们的 MOSS Enterprise 环境中 我们遇到了一个奇怪的问题 人们在尝试创建新网站集或导航到 mysite 时有时会收到此错误消息 无法加载文件或程序集 Microsoft SharePoint ApplicationPage
  • XML-XSLT:如何比较字符串中的两个日期

    我知道这个问题可能会重复 而且我也浏览过类似的文章和问题 但我还没有找到确切的解决方案 现在问题 我在用XSLT or XPATH来转换 xml XML 中有两个字符串变量 一个是OldDate第二个是CurrentDate Ex oldD
  • python 3 suds 缓存不工作

    我正在尝试编写一个通过 Python 访问 Sharepoint 的脚本 已安装以下库 suds jurko ntlm 以下代码成功 但需要接近 20 秒 usr bin env python3 from suds client impor
  • xslt 1.0 如何在选择条件中用 0(零)替换空或空白值

  • 使用 ApacheFOP 从 Java 中的 XML 生成 PDF

    我正在尝试从 Java 对象生成即时 PDF 报告 我找不到很多这方面的例子 所以我一直在关注这个例子 http svn apache org viewvc xmlgraphics fop trunk examples embedding
  • BaseX:在哪里声明要执行查询的 XML 文档

    通过 BaseX 程序 我能够使用 XPath 和 XQuery 来查询位于我的主目录中的 XML 文档 但在 XSLT 中执行相同操作时遇到问题 我查询的文档是书店Q xml https raw github com elexhobby
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 锚标记 href 中的 eval

    我想要实现的目标是在锚标记的 href 中使用 Eval 作为参数 锚点嵌套在转发器内 为什么我不能使用后面的代码来实现这一点 我尝试了一些事情但没有运气 a href http MyWebsite ActiveUsers ID Inser
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 工作流程系统中的单元/自动化测试

    您是否对像 K2 这样的复杂工作流程系统进行自动化测试 我们正在构建一个在 Sharepoint 2007 和 K2 之间进行广泛集成的系统 我什至无法想象从哪里开始自动化测试 因为工作流程涉及多个用户与 Sharepoint K2 工作流

随机推荐

  • Visual Studio / apache cordova - 构建成功 - 但没有生成 apk

    Apache Cordova Visual Studio 2015 无法构建签名的 apk https stackoverflow com questions 34428638 apache cordova visual studio 20
  • 优化 iPhone 应用程序启动时间

    使用 iPhone 的人都知道 有些应用程序启动速度很快 而另一些则需要几秒钟 确保 iPhone 应用程序快速启动并可用的最佳技术是什么 Apple 建议您 延迟加载 每个视图 IE 仅在启动时加载第一页 仅在导航到其他页面时加载它们 在
  • 在打字稿 AST 中获取变量声明类型的正确方法?

    看了一眼declarationEmitter对于变量声明 它具有以下功能 emitVariableDeclaration最终调用 writeTypeOfDeclaration 这段代码的作用就是它所说的 它需要一个变量声明并打印变量及其类型
  • Azure Python Web 应用内部服务器错误

    编辑 问题似乎是在我的应用程序中导入包 所有软件包都已正确安装 我可以在我的 wwwroot 中使用 kudu 看到它们 但是 当我将它们导入脚本中时 我收到 500 错误 最糟糕的是 只有当我以这种方式导入包时才会出现问题 from pa
  • Angelika Langer GenericsFAQ - 我可以像使用其他类型一样使用原始类型吗?

    我正在阅读以下文档阿格丽卡 兰格博士 http www angelikalanger com GenericsFAQ FAQSections ParameterizedTypes html Can 20I 20use 20a 20raw 2
  • 通过从另一个文件中逐行读取来加载属性文件

    我正在读取一个名为 abc txt 的文件 abc txt 的每一行都是一个属性文件 例如 label properties label ch properties label da properties label de properti
  • Android 12:从 targetSdkVersion 31 开始,Toast 消息被剪裁

    最近我的智能手机 Google Pixel 3 从Android 11更新到12 之后 我想调整我的应用程序传感器记录 http www braun home net michael android sensorrecording inde
  • 将文件从 Node js 传输到 dropbox,无需基于浏览器的 oauth 身份验证

    我正在运行一个来自heroku的基于nodejs express的api服务器并使用dropbox js https github com dropbox dropbox js图书馆 这是我想做的 用户点击特定的 API 端点并启动该流程
  • 如何在 C#(Windows Phone 7)中解析 JSON 数组值?

    我在 WP7 工作 我需要解析列表框中的 JSON 数组值 有人说 使用序列化器和反序列化器 但我不知道如何使用序列化器和反序列化器将这些值解析到组合框或列表框中 我建议使用JSON NET http json codeplex com 我
  • 列出来自 DBpedia 的国家

    尝试查询 DBpedia 以获取包含以下内容的所有国家 地区的列表dbo longName列出每个国家的财产和首都 但返回 0 个结果 看不出查询有什么问题 PREFIX dbo
  • 重音字符不显示

    我有一个要求 将电子邮件发送给用户 他可以直接回复该电子邮件 并且该电子邮件的内容将发布在他的帐户中 问题是当用户从电子邮件中发布内容时 重音字符无法正确显示 我使用发送电子邮件MailMessage class message BodyE
  • MX记录查找和检查

    我需要创建一个工具来检查域的实时 mx 记录是否符合预期 我们的一些员工在摆弄这些记录时遇到了问题 导致所有传入的邮件都被重定向到空白 现在我不会撒谎 我根本不是一个称职的程序员 我已经阅读了大约 40 页的 深入 Python 可以阅读和
  • 如何终止 java 上的远程 Eclipse 调试

    我正在远程调试一个java应用程序 它通常运行良好 然而 我正在编写新的代码 现在我到达一行 我想终止程序 但唯一可用的按钮是暂停和断开连接 当然 挂起不会终止 断开连接会停止调试 但会使远程应用程序处于任何状态 然后我必须重新启动它 有一
  • 将宽度和高度设置为 React-native 模式

    我无法使用配置模态高度和宽度style财产 还有其他方法可以设置模态高度和宽度吗
  • 如何在 ASP.NET MVC 3 中发布文件数组?

    我希望能够以一种形式发布多个文件 我想将这些文件作为文件数组传递 例如我想这样做
  • 查找与某个模式匹配的所有文件名

    我正在尝试找到一种方法来列出与此模式匹配的文件夹中的所有文件名 20131106XXXXX pdf 前缀是日期 内容和长度XXXX不同文件有所不同 我只关心 pdf 文件 任何人都可以建议一种方法来做到这一点吗 Try this list
  • 厨师兼顾客中途死亡

    最近 我们开始遇到厨师客户在跑步过程中死亡的问题 因为我们在通常进行得更快的跑步列表的各个部分上花费了更多的时间 我使用的是家庭 Wi Fi 而我的同事使用的是工作 Wi Fi 该 Wi Fi 本身也存在一些连接问题 如果在 Chef cl
  • Django Rest Framework - 序列化器中的字段级验证

    我有一个序列化器 我正在尝试添加字段级验证 我需要验证序列化的某些字符字段是否为空 以及布尔字段是 true 还是 false 我有这个序列化器 但即使 Ficha publicada 为 false 我也不会返回错误 class Publ
  • 取消注册已注册的 filewatcher 事件不起作用

    我想用powershell查看一个文件夹 我是PS初学者 当我启动脚本时 该脚本只能运行一次 但是 当我因为更改了一些脚本代码而必须再次重新启动脚本时 我收到此错误消息 Cannot subscribe to the specified e
  • 如何将选择字段的文本转换为图标?

    救救吧 伙计们 我的共享点页面中有一个选择字段 其中的选项如下 1 Go 2 Warning 3 Stop 现在 我希望它以图标而不是文本的形式出现在列表中 我有一个可用的 jquery 脚本 但需要很长时间才能搜索所有列表中包含的文本 而