2012-04-26 19 views
1

私はcumstomフィールドを含むリスト(sharepoint 2010)を作成しました。カスタムフィールドはSPFieldUserから継承されます。 新しいListItem(webfrontend)を作成し、要素の詳細を確認した後、フィールドは空です。カスタムフィールドは保存されません

Webfronted NewItemForm Webfronted NewItemForm Webfronted ItemDetailsForm Webfronted ItemDetailsForm Webfronted EditItemForm Webfronted EditItemForm

マイコード:

public class Vertreter_FieldType:SPFieldUser 
    { 
    public Vertreter_FieldType(SPFieldCollection fields, string fieldName) 
      : base(fields, fieldName) 
     { 

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

     public override object GetFieldValue(string value) 
     { 
      return base.GetFieldValue(value); 
     } 

     public override string DefaultValue 
     { 
      get 
      { 
       return base.DefaultValue; 
      } 
      set 
      { 
       base.DefaultValue = value; 
      } 
     } 
    } 

XML-fldtypes:

<FieldTypes> 
    <FieldType> 
    <Field Name="TypeName">Vertreter_FieldType</Field> 
    <Field Name="ParentType">User</Field> 
    <Field Name="TypeDisplayName">Vertreter</Field> 
    <Field Name="TypeShortDescription">Auswahl Vertreter</Field> 
    <Field Name="UserCreatable">TRUE</Field> 
    <Field Name="FieldTypeClass">CustomFieldTypes.Vertreter_FieldType, $SharePoint.Project.AssemblyFullName$</Field> 
    </FieldType> 
</FieldTypes> 

マイCONTENTTYPE上のリスト拠点:

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
... 
<Field ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}" 
     DisplayName="Administrator" Name="Administrator" 
     Type="Admin_FieldType" Required="TRUE" 
     UnlimitedLengthInDocumentLibrary="FALSE" 
    /> 
    <Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" 
     DisplayName="Vertreter" Name="Vertreter" 
     Type="Vertreter_FieldType" Required="TRUE" 
     UnlimitedLengthInDocumentLibrary="FALSE" 
     > 
    </Field> 
... 
    <FieldRefs> 

... 
    <FieldRef ID="{2C338272-3BC8-45bc-B33E-5FBD1223F398}" Name="Administrator" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" /> 
    <FieldRef ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" Name="Vertreter" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE" /> 
... 

    </FieldRefs> 
    </ContentType> 
</Elements> 

私の環境:SharePoint 2010の、VisualStudioを2010あなたの助けのための

ありがとう!

答えて

1

解決策が見つかりました:List = "UserInfo"をFieldDefinitionに追加する必要がありました。

<Field ID="{585CE72A-72D7-4ecc-8324-484BA1E483F1}" DisplayName="Vertreter" Name="Vertreter" Type="Vertreter_FieldType" Required="TRUE" UnlimitedLengthInDocumentLibrary="FALSE" List="UserInfo"> 
+0

回答を解決策としてマークする必要があります。 –

関連する問題