2012-04-26 3 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> 

내 환경 : 당신의 도움에 대한 셰어 포인트 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

답변을 해결책으로 표시해야합니다. –

관련 문제