これは、計算フィールドで実行できます。フォームのドロップダウンで何を選択するために使用するアカウント列があります。次に、別の列を作成して、計算フィールドとして表示するためにリストビューに表示します。それをアカウント表示と呼びましょう。この式を試して、それがあなたのために働くかどうか確かめてください。私はこれと同じタイプのプロセスを、優先度インジケーターの画像でも行います。
=IF(Account="Hourly"," <div style="color:red;">Hourly</div>",
IF(Account="Silver"," <div style="color:CCC2C2;">Silver</div>",
IF(Account="Gold"," <div style="color:D9A441;">Gold</div>")))))
必ずSharePointDesignerに移動し、列のxsltノードのxsl:value-ofプロパティにdisable-output-escaping = "yes"を追加してください。そうしないと、レンダリングされません。これは、DispForm.aspxページではなく、AllItems.aspxのようなリストのビューに表示されます。
編集:探すXSLTコードブロック:
<xsl:template name="FieldRef_Text_body.Account_x0020_Display" ddwrt:dvt_mode="body" match ="FieldRef[@Name='Account_x0020_Display']" mode="Text_body" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:param name="thisNode" select="."/>
<xsl:choose>
<xsl:when test="@AutoHyperLink='TRUE'">
<xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping ="yes"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping="yes"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>