목록의 schema.xml 파일에서 사용자 정의 뷰 정의
-
09-12-2019 - |
문제
콘텐츠 형식으로 사용자 정의 목록 정의를 만들었습니다.
schema.xml의 두 가지보기를 정의하고 싶습니다.
- 모든 항목 (Visual Studio에서 생성 된 기본값)
- 내 항목 (사용자 ID에 기반한 필터가있는 동일한보기)
내 목록을 배포 할 때 두 개의 뷰가 실제로 생성됩니다. bu 두 번째로 정의 된 필터가 사라졌습니다.
여기에 사용하는 필터가 있습니다.
.<Query> <OrderBy> <FieldRef Name="Modified" Ascending="FALSE"> </FieldRef> </OrderBy> <Where> <Eq> <FieldRef Name="AssignedTo" /> <Value Type="Integer"> <UserID /> </Value> </Eq> </Where> </Query>
누락 된 것은 무엇입니까?SPD를 사용하여 배포 후 필터를 만드는 경우이 쿼리가 정확히 생성됩니다.
도움이 될 수 있는지 모르겠지만 전체보기 정의는 다음과 같습니다.
.<View BaseViewID="1" Type="HTML" WebPartZoneID="Main" DisplayName="My messages" DefaultView="TRUE" MobileView="True" MobileDefaultView="True" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/images/announce.png" Url="MyMessages.aspx"> <Toolbar Type="Standard" /> <XslLink Default="TRUE">mycustomxsl.xsl</XslLink> <RowLimit Paged="TRUE">30</RowLimit> <ParameterBindings> <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" /> <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" /> </ParameterBindings> <ViewFields> <FieldRef Name="Attachments"> </FieldRef> <FieldRef Name="LinkTitle"> </FieldRef> <FieldRef Name="Modified"> </FieldRef> </ViewFields> <Query> <OrderBy> <FieldRef Name="Modified" Ascending="FALSE"> </FieldRef> </OrderBy> <Where> <Eq> <FieldRef Name="AssignedTo" /> <Value Type="Integer"> <UserID /> </Value> </Eq> </Where> </Query> </View>
[편집] :
<View BaseType="1">
속성과 조금 혼란 스럽습니다.AllItems보기를 유지하고 싶으신 것처럼, 이제는 동일한 기본 유형으로 두 개의보기가 있습니다.이 속성의 목적은 무엇입니까?같은베이스 타입으로 필요한보기만큼 많이 가질 수 있다고 생각할 수 있습니다.
해결책
BaseViewID는 각 뷰마다 고유해야합니다.1은 필터가없는 AllItems 뷰의 ID입니다. 이는 필터를 볼 수없는 이유입니다.
이 게시물을 참조하십시오 : http://social.msdn.microsoft.com/forums/en-us/sharepointDevelopment/EN-US/SHAREPOINTDEVOPENTS/THREAD/52E45DDD-73A8-400F-890C-323AAAAAECB
다른 팁
BaseViewID
는 혼란스러운 이름입니다.그것은 정확히 무엇인지 라는 이름의 ViewID
로 명명되어야합니다.
사용자는 목록의 각보기에 대해 고유해야합니다.BaseViewID를 "내 아이템"보기에 3으로 제공하십시오.