我们在MOSS里做自定义字段,会用到属性,比如文本框的最大长度MaxLength等,这种简单的属性通过XML定义来实现
比如:
 <PropertySchema>
<PropertySchema>
 <Fields>
    <Fields>
 <Field Name="Remark" DisplayName="remark:" Required="FALSE" Type="Text">
        <Field Name="Remark" DisplayName="remark:" Required="FALSE" Type="Text">
 <Default>
            <Default>
 </Default>
            </Default>
 </Field>
        </Field>
 </Fields>
    </Fields>
 </PropertySchema>
</PropertySchema>
然后我们在代码里通过GetCustomProperty("Remark")方法来得到。
我们做好自定义字段后,使用中完全是正常的,但是,如果你要修改这个字段的属性,那么你会发现,在修改界面,MOSS显示的属性是错误的,如下图,我现在没MOSS环境,到11网站抓了个图片^_^

MOSS并没有把属性显示成我们设定的值,而是显示了描述。。。
要解决这个问题也简单,有两种方法:
一种方法是使用一个UserControl(如:myFieldEditor.ascx),然后继承UserControl, IFieldEditor,然后重载InitializeWithField,OnSaveChange,DisplayAsNewSection,和其它一些代码来实现,然后保存到controltemplates目录中,然后要在字段的XML定义中加上这个东西
 <Field Name="FieldEditorUserControl">
<Field Name="FieldEditorUserControl">
 /_controltemplates/myFieldEditor.ascx
/_controltemplates/myFieldEditor.ascx
 </Field>
</Field>
 然后……具体方法请参考下SDK。什么?嫌麻烦?恩,是挺麻烦的,那就用第二种方法->
然后……具体方法请参考下SDK。什么?嫌麻烦?恩,是挺麻烦的,那就用第二种方法->
第二种方法就是。。。打补丁,嘿嘿,打了补丁就好了。微软已经出了KB,其中可以解决的一个问题就是这个问题,KB下载请下载Windows SharePoint Services 3.0 更新 (KB941422) 【更新:现在打SP1吧】
按照习惯,来个QQ表情: 
 
比如:
 <PropertySchema>
<PropertySchema> <Fields>
    <Fields> <Field Name="Remark" DisplayName="remark:" Required="FALSE" Type="Text">
        <Field Name="Remark" DisplayName="remark:" Required="FALSE" Type="Text"> <Default>
            <Default> </Default>
            </Default> </Field>
        </Field> </Fields>
    </Fields> </PropertySchema>
</PropertySchema>然后我们在代码里通过GetCustomProperty("Remark")方法来得到。
我们做好自定义字段后,使用中完全是正常的,但是,如果你要修改这个字段的属性,那么你会发现,在修改界面,MOSS显示的属性是错误的,如下图,我现在没MOSS环境,到11网站抓了个图片^_^

MOSS并没有把属性显示成我们设定的值,而是显示了描述。。。
要解决这个问题也简单,有两种方法:
一种方法是使用一个UserControl(如:myFieldEditor.ascx),然后继承UserControl, IFieldEditor,然后重载InitializeWithField,OnSaveChange,DisplayAsNewSection,和其它一些代码来实现,然后保存到controltemplates目录中,然后要在字段的XML定义中加上这个东西
 <Field Name="FieldEditorUserControl">
<Field Name="FieldEditorUserControl"> /_controltemplates/myFieldEditor.ascx
/_controltemplates/myFieldEditor.ascx </Field>
</Field>
第二种方法就是。。。打补丁,嘿嘿,打了补丁就好了。微软已经出了KB,其中可以解决的一个问题就是这个问题,KB下载请下载Windows SharePoint Services 3.0 更新 (KB941422) 【更新:现在打SP1吧】
按照习惯,来个QQ表情:
 
 
 
 
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号