RenderPattern在SharePoint 2010中失效的问题

Moss 2010终于发布啦,关于Custom Field,并没有太大的变化,但是如果直接使用2007的Custom Field会发现FLDTypes*.xml中的RenderPattern节点里对List View的显示描述会失效。

这是因为Moss 2010中对Custom Field在List view中的显示新增了一种xslt的解析方式。而且,默认是使用这种方式,所以我们会发现以前的CAML的方式不起作用了。我们需要在fldTypes*.xml中填加<Field Name="CAMLRendering">TRUE</Field>,就能正常工作了。具体一个完整的代码如下

 

代码
<? xml version="1.0" encoding="utf-8"  ?>
< FieldTypes >
  
< FieldType >
    
< Field  Name ="TypeName" > RecommendField </ Field >
    
< Field  Name ="ParentType" > MultiColumn </ Field >
    
< Field  Name ="TypeDisplayName" > Recommend </ Field >
    
< Field  Name ="TypeShortDescription" > Recommend List </ Field >
    
< Field  Name ="UserCreatable" > TRUE </ Field >
    
< Field  Name ="ShowOnListCreate" > TRUE </ Field >
    
< Field  Name ="ShowOnSurveyCreate" > TRUE </ Field >
    
< Field  Name ="ShowOnDocumentLibraryCreate" > TRUE </ Field >
    
< Field  Name ="ShowOnColumnTemplateCreate" > TRUE </ Field >
    
< Field  Name ="CAMLRendering" > TRUE </ Field >
    
< Field  Name ="FieldTypeClass" > RecommendFieldType.RecommendField, $SharePoint.Project.AssemblyFullName$ </ Field >
    
< RenderPattern  Name ="DisplayPattern" >
      
< Switch >
        
< Expr >
          
< Column  />
        
</ Expr >
        
< Default >
          
< Column  SubColumnNumber ="0"  HTMLEncode ="TRUE" />
          
< HTML >
            
<![CDATA[  -  ]]> < List  /></ HTML >
          
< Column  SubColumnNumber ="1"  HTMLEncode ="TRUE" />
          
< Column  Name ="ID" ></ Column >
        
</ Default >
      
</ Switch >
    
</ RenderPattern >
  
</ FieldType >
</ FieldTypes >

 

 

 

你可能感兴趣的:(SharePoint)