2009-03-03 140 views
1

我試圖在具有自定義屬性的SharePoint(WSS 3.0)中創建自定義字段類型。我已經基於SDK文檔和this blog post創建了我的fldtypes * .xml文件,它似乎渲染得很好,我可以檢索我的代碼中的自定義屬性值。我的問題是,在初始字段創建後,如果我回到列表設置頁面並單擊我新添加的字段,表單將顯示我的自定義屬性,其中包含一些我沒有提供的值。例如,如果我的自定義屬性的顯示名稱是「我的自定義屬性」,則其文本框中的值將爲「我的自定義屬性字段值」。顯示SharePoint自定義字段類型的自定義屬性值的問題

我的問題是這樣的:我怎樣才能在這些文本框中正確顯示我的自定義屬性類型的實際字符串值?

這裏是我的fldtypes * .xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<FieldTypes> 
    <FieldType> 
    <Field Name="TypeName">MyCustomField</Field> 
    <Field Name="TypeDisplayName">My Custom Field</Field> 
    <Field Name="TypeShortDescription">MyCustomField</Field> 
    <Field Name="ParentType">Text</Field> 
    <Field Name="UserCreatable">TRUE</Field> 
    <Field Name="FieldTypeClass">MyCustomField.CustomFields.MyCustomField, MyCustomField, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772gbab82fe6996</Field> 
    <PropertySchema> 
     <Fields> 
     <Field Name="MyCustomProp" DisplayName="My Custom Prop" Type="Text" MaxLength="50" DisplaySize="30" /> 
     </Fields> 
    </PropertySchema> 
    </FieldType> 
</FieldTypes> 

下面是我的字段類型類代碼:

public class MyCustomField : SPFieldText 
{ 
    private string propval; 

    public MyCustomField(SPFieldCollection fields, string fieldName) 
     : base(fields, fieldName) 
    { 
    } 

    public MyCustomField(SPFieldCollection fields, string typeName, string displayName) 
     : base(fields, typeName, displayName) 
    {   
    } 

    public override void Update() 
    { 
     // I can see any updated value here 
     propval = GetCustomProperty("MyCustomProp") as string; 
     base.Update(); 
    } 

    public override Type FieldValueType 
    { 
     get { return typeof (string); } 
    } 

} 

我能做些什麼,看在我正確的自定義屬性值「更改列「頁(FldEditEx.aspx)在我的SharePoint應用程序?

回答

相關問題