Декларативно скрыть временную шкалу списка задач
-
29-09-2020 - |
Вопрос
Я пытаюсь декларативно скрыть временную шкалу списка задач либо в представлении, либо в XSTListViewWebPart.XLSTListViewWebPart добавляется через модуль и файл, например:
<File Url="default.aspx" Path="default.aspx" Type="GhostableInLibrary" ReplaceContent="TRUE" IgnoreIfAlreadyExists="FALSE" >
<Property Name="Title" Value="Open Issues" />
<Property Name="ContentType" Value="ProjectDashboardContentType" />
<Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/ProjectPortal-OpenIssues.aspx" />
<Property Name="ContentTypeId" Value="0x01010007FF3E057FA8AB4AA42FCB67B453FFC100E214EEE741181F4E9F7ACC43278EE811009A4931CEF4F842B9BDFAF179837C58E2" />
<View WebPartZoneID="ProjectPortalZone" WebPartOrder="0" List="Lists/ProjectTasks" DefaultView="FALSE" BaseViewID="6">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,Microsoft.SharePoint,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="AllowConnect" type="bool">True</property>
<property name="ChromeType" type="chrometype">None</property>
<property name="Title" type="string">Project Tasks</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</View>
</File>
Есть ли свойство, которое можно добавить, чтобы удалить временную шкалу здесь?Или, возможно, это что-то, что должно быть установлено в представлении, на которое ссылается BaseViewId="6"?
* РЕДАКТИРОВАТЬ *
Я полагаю, я мог бы просто вывести немного CSS или сделать какой-нибудь умный jQuery, который скроет всю эту область, но лучше вообще уберет ее из рендеринга.
Решение
Хорошо, я смог сделать это, удалив столбец TimelineDueDate из определения представления в моей схеме списка:
<View BaseViewID="2" Type="HTML" WebPartZoneID="Main" DisplayName="$Resources:core,Late_Tasks;" MobileView="True" MobileDefaultView="False" Url="late.aspx" ReqAuth="TRUE" SetupPath="pages\viewpage.aspx" ImageUrl="/_layouts/15/images/issuelst.png?rev=23">
<Toolbar Type="Standard" />
<JSLink>hierarchytaskslist.js</JSLink>
<XslLink Default="TRUE">main.xsl</XslLink>
<JSLink>clienttemplates.js</JSLink>
<RowLimit Paged="TRUE">100</RowLimit>
<ViewFields>
<FieldRef Name="Checkmark"></FieldRef><FieldRef Name="LinkTitle"></FieldRef><FieldRef Name="StartDate" /><FieldRef Name="DueDate"></FieldRef><FieldRef Name="AssignedTo"></FieldRef><FieldRef Name="Status" /><FieldRef Name="pdTaskType" /></ViewFields>
<ViewData>
<FieldRef Name="PercentComplete" Type="StrikeThroughPercentComplete"></FieldRef>
<FieldRef Name="DueDate" Type="TimelineDueDate"></FieldRef>
</ViewData>
...
Просто удалите DueDate FieldRef из ViewData, и все заработает!
Другие советы
Если вы добавите свою веб-часть с помощью xml (например, в файлах .webpart), вы можете добавить следующее свойство
<property name="ShowTimelineIfAvailable" type="bool">False</property>