2009-12-01 3 views
3

달이라고하는 숫자 필드 인 기본 사용자 지정 목록에 하나의 열만 추가하면되는 목록의 스키마를 작성했습니다. 필드는 기본보기에 표시되며 실제로 목록에 작성됩니다. 목록은 제대로 설정된 값으로 자동 채워집니다. 문제는 해당 필드가 표시/수정/새 페이지에 나타나지 않는다는 것입니다. 데이터 시트보기를 통해 설정할 수 있습니다. 스키마에 명시 적으로 설정했을 때 왜 나타나지 않는지 이해할 수 없습니다.표시/수정/새 페이지에 SharePoint 필드가 표시되지 않습니다.

제안 사항을 매우 자세히 설명해주십시오.

<?xml version="1.0" encoding="utf-8"?> 
<List xmlns:ows="Microsoft SharePoint" 
     Title="ReviewPeriods" 
     FolderCreation="FALSE" 
     Direction="$Resources:Direction;" 
     Url="Lists/ReviewPeriods" 
     EnableContentTypes="TRUE" 
     BaseType="0"> 
<MetaData> 
    <ContentTypes> 
    <ContentTypeRef ID="0x01"> 
     <Folder TargetName="Item" /> 
     </ContentTypeRef> 
    </ContentTypes> 
    <Fields> 
    <Field ID="{B99EB797-4057-4a75-90BF-B40D0F89A9D9}" 
      Type="Number" 
      Decimals="0" 
      Min="0" 
      Max="100" 
      Percentage="FALSE" 
      Name="Months" 
      Required="TRUE" 
      Group="SEED" 
      DisplayName="Months" 
      StaticName="Months" 
      ShowInDisplayForm="TRUE" 
      ShowInEditForm="TRUE" 
      ShowInNewForm="TRUE"> 
    </Field> 
    </Fields> 
    <Views> 
    <View BaseViewID="0" 
      Type="HTML" 
      WebPartZoneID="Main" 
      DisplayName="Default View" 
      DefaultView="TRUE" 
      SetupPath="pages\viewpage.aspx" 
      ImageUrl="/_layouts/images/generic.png" 
      Url="AllItems.aspx"> 

... 숨겨진 물건 ...

<ViewFields> 
      <FieldRef Name="LinkTitle"></FieldRef> 
      <FieldRef Name="Months"></FieldRef> 
    </ViewFields> 
    <Query> 
    <OrderBy> 
     <FieldRef Name="Title"> 
     </FieldRef> 
    </OrderBy> 
    </Query> 
    </View> 
    </Views> 
    <Forms> 
    <Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    <Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" /> 
    </Forms> 
</MetaData> 
</List> 

답변

4

문제는 목록에 필드를 추가하지만 동시에 콘텐츠 형식을 사용하고 사용할 콘텐츠 형식이 필드를 포함하지 않는 Item (0x01)임을 지정하는 것입니다. 따라서 항목을 추가/편집하고 필드를 가져 오지 못합니다.

는 두 가지 해결책이 있습니다

  1. 이 콘텐츠 형식을 사용하지 마십시오 (다음 또한 전체 < ContentTypes에게 > 섹션을 제거)
  2. 이 분야 등 새로운 콘텐츠 형식을 만들고 있다고 추가를 내용 유형
  3. 대신
+0

먼저. 실제로 콘텐츠 유형을 목록에서 완전히 비활성화 할 수 있습니까? 아니면 그냥 숨겨져있는 것입니까? –

+0

EnableContentTypes 속성 및 섹션을 생략하면 항목 추가/편집시 추가 된 필드가 나타나는 목록이 표시됩니다 –

1

나는 종류의 내 자신의 문제에 대한 해결책을 발견했습니다. 해당 페이지는 내용 유형을 기반으로하기 때문에 필드가 새로 만들기/표시/편집 양식에 나열되지 않습니다. 이 경우 내 목록을 기반으로하는 Item 콘텐츠 유형입니다.

일반적으로 내 자신의 콘텐츠 형식을 만들지 만 완전히 새로운 콘텐츠 형식을 정의하지 않고 목록을 만드는 속기 방법을 찾으려고했습니다. 그래서 내가 한 것은 콘텐츠 형식 내에있는 기존 필드를 참조하기보다는 목록 스키마에 직접 필드를 정의하는 것입니다. 추가 필드가 하나 뿐인 일회용 조회 목록의 콘텐츠 유형을 정의하는 것은 다소 어리석은 것처럼 보입니다.

새 콘텐츠 형식을 만들 필요없이 새/표시/편집 양식에 표시 할 필드를 제안 할 수 있다면 대신 기꺼이 받아 들일 수 있습니다.

1

내가했던 것과 똑같은 일을했습니다. 콘텐츠 유형 생성 fo r 각각의리스트를 만들고 싶었다.) 아래의 코드가 나올 때까지. 아래 코드를 보면 <ContentTypes> 태그를 제거하고 강제로 제목 필드와 추가 필드 설명을 추가했습니다. 대답 당 숨겨진

<Fields> 
    <Field ID="{9830F5FC-99E0-4052-9CC0-50CBEDE80002}" Type="Text" Name="Title" DisplayName="Type Name" Required="TRUE" MaxLength="255" Version="1" RowOrdinal="0"> 
    <Default/> 
    </Field>  
    <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="TRUE" RichTextMode="Compatible" Sortable="FALSE" 
     ID="{63C25492-BA98-4096-A6D7-F85885E0A425}" Name="Description" 
      RowOrdinal="0"/> 
</Fields> 

......

<MetaData>

오른쪽이었다 +1 나는 이미 내가에 관심이 있지만 목록 두 번째 솔루션을 갔어요

관련 문제