注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

忘忧草的博客

品味人生--精通IT管理和技术

 
 
 

日志

 
 
 
 

让SharePoint计算字段显示Html(转:涂署光博客)  

2012-02-29 16:56:20|  分类: Moss2010 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

最近有个需求,将不同的内容类型组织到同一个列表(不是文档库)中,希望能够给不同的内容类型显示不同的图标。不过SharePoint内容类型似乎没有关于图标的设置,翻了ContentType的SchemaXml和若干个xml配置文件都没找到相关的办法。  今天突然想到了计算字段,猜测大概能做到这一点,不过计算字段只能显示单行文本、数值、是/否等几种固定类型,不能显示html内容,我觉得可以通过修改默认的计算字段配置文件来达到这一目的。上网搜了一下,果然找到:Enabling HTML and/or Images in a SharePoint List using a calculated field  大致的方法就是控制计算字段在显示的时候的html编码,在FLDTYPES.XML中我们可以看到默认是这个样子的:  1 <Default> 2     <Column HTMLEncode="TRUE" AutoHyperLink="TRUE" AutoNewLine="TRUE"/> 3 </Default> 也就是说对于单行文本的显示方式,都是加上了HTML编码的,自然我们可以改掉这个地方,但是为了不影响其他计算字段的显示,可以用一些特定标记来判断,比如改成这样:   1 <IfSubString>  2     <Expr1><![CDATA[<custom/>]]></Expr1>  3     <Expr2><Column/></Expr2>  4     <Then>  5         <HTML><Column/></HTML>  6     </Then>  7     <Else>  8         <Column HTMLEncode="TRUE" AutoHyperLink="TRUE" AutoNewLine="TRUE"/>  9     </Else> 10 </IfSubString> 这段的意思是:如果计算字段的值包含“<custom/>”(这不是一个html标签,所以页面上不会显示),那么就不编码,否则对内容进行html编码。  于是,就可以在列表中创建一个计算字段栏Icon,它的公式设置成:   1 =IF([内容类型]="类型A", 2     "<custom/><img src='/_layouts/images/img1.gif'/>", 3     "<custom/><img src='/_layouts/images/img2.gif'/>") 要是支持SWITCH就更好了……
  评论这张
 
阅读(499)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018