Определение пользовательских представлений в файле Schema.xml
-
09-12-2019 - |
Вопрос
Я создаю пользовательское определение списка, с типом контента.
в Schema.xml, я хотел бы определить два взгляда:
- .
- Все элементы (по умолчанию, сгенерировано Visual Studio)
- Мои элементы (тот же вид с фильтром на основе идентификатора пользователя)
Когда я развернул мой список, на самом деле созданы два взгляда, 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, у меня теперь два взгляда с тем же базовым типом.Что именно цель этого атрибута?Я прав думаю, что я могу иметь столько, сколько требуется просмотр с тем же BaseType?
Решение
Басевид должен быть уникальным для каждого представления.1 - идентификатор представления Allitems, который не имеет фильтров, поэтому вы не можете видеть ваши фильтры.
Обратитесь к этому посту: http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thrad/52e45dddd-73a8-400f-890c-323a0eaeeccccccb
Другие советы
BaseViewID
- это запутанное имя.Это должно было быть названо просто ViewID
, который является то, что именно это именно.
Вы BaseViewID должны быть уникальными для каждого представления в списке.Попробуйте дать BASEVEVEWID как 3 к вашим «моим предметам».