我们在MOSS里做自定义字段,会用到属性,比如文本框的最大长度MaxLength等,这种简单的属性通过XML定义来实现
比如:
<PropertySchema>
    
<Fields>
        
<Field Name="Remark" DisplayName="remark:" Required="FALSE" Type="Text">
            
<Default>
            
</Default>
        
</Field>
    
</Fields>
</PropertySchema>

然后我们在代码里通过GetCustomProperty("Remark")方法来得到。
我们做好自定义字段后,使用中完全是正常的,但是,如果你要修改这个字段的属性,那么你会发现,在修改界面,MOSS显示的属性是错误的,如下图,我现在没MOSS环境,到11网站抓了个图片^_^

MOSS并没有把属性显示成我们设定的值,而是显示了描述。。。

要解决这个问题也简单,有两种方法:
一种方法是使用一个UserControl(如:myFieldEditor.ascx),然后继承UserControl, IFieldEditor,然后重载InitializeWithField,OnSaveChange,DisplayAsNewSection
,和其它一些代码来实现,然后保存到controltemplates目录中,然后要在字段的XML定义中加上这个东西
<Field Name="FieldEditorUserControl">
/_controltemplates/myFieldEditor.ascx
</Field>
然后……具体方法请参考下SDK。什么?嫌麻烦?恩,是挺麻烦的,那就用第二种方法->
第二种方法就是。。。打补丁,嘿嘿,打了补丁就好了。微软已经出了KB,其中可以解决的一个问题就是这个问题,KB下载请下载Windows SharePoint Services 3.0 更新 (KB941422)  【更新:现在打SP1吧】

按照习惯,来个QQ表情:
posted on 2007-10-18 21:34  皮皮@北京  阅读(1006)  评论(0编辑  收藏  举报