Примечание: Это был впервые размещен на www.endusersharepoint.com Здесь: HTTP://www.endusersharepoint.com/ 2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
Это еще еще один блог на сравнении дат в XSL веб-части представления данных в SharePoint.
Это мой сценарий:
- У меня есть настраиваемого списка.
- Бизнес-цель этого перечня заключается в поддержать идею нового сотрудника и его задач будет завершен в течение 7 дни начала работу.
- Они находятся в зоне «предупреждения», после 4 дней, если они не выполнили эти задачи.
- Я хочу создать простой пульт управления, который показывает зеленый, когда они либо завершили задачи или если они имеют более чем 4 дней, чтобы завершить его.
- Я хочу, чтобы панель мониторинга, чтобы показать желтый, если они находятся в зоне предупреждение.
- Я хочу показать красный, если они не выполнили задачу после установленной даты.
Я заимствовал из Эта статья на Марк Андерсон блог (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) чтобы получить логику сравнения и Эта статья на www.endusersharepoint.com Основные идеи за приборной панели (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) Автор Toni Frankola.
Вы должны прочитать поддержки блогов, но осуществление идет как это:
- Создание типа контента (колонки + CT)
- Создайте настраиваемый список и связать его с типом контента.
- Создайте страницу веб-частей.
- Добавьте настраиваемый список на странице веб-частей.
- Откройте страницу в СДПГ.
- Преобразовать список в DVWP.
- Изменить значение XSL для создания битов приборной панели.
У меня есть две даты: предупреждение Дата и срок. Для сравнения дат, Мой xsl выполняет следующие:
<XSL:выбрать> <!-- Когда подписываются как руководство, так и политики, Мы зеленые независимо от даты. -->
<XSL:когда тест="@Employee_x0020_Handbook_x003F_ = 1 и @Security_x0020_Policies = 1"> <IMG src= "/ _layouts/изображения/KPIDefault-0.GIF" Alt«Никаких проблем ="/> <в href= "/ HumanResources/списки/новый работник Checklist/EditForm.aspx?ID ={@ ID}&Источник = / HumanResources/Общие документы/Новая аренда Dashboard.aspx"> [Редактировать]</в> </XSL:когда> <!-- Показать желтый индикатор, если мы за датой предупреждение. -->
<XSL:когда тест= "ddwrt:Функция FormatDateTime(Строка(ddwrt:Сегодня()), 1033, «ГГГГММДД») >= ddwrt:Функция FormatDateTime(Строка(@TaskDueDate), 1033, «ГГГГММДД»)"> <IMG src="/_layouts/images/KPIDefault-2.gif" Alt= «Просроченные"/> <в стиль= «границы: 0px" href= "/ HumanResources/списки/новый работник Checklist/EditForm.aspx?ID ={@ ID}&Источник = / HumanResources/Общие документы/Новая аренда Dashboard.aspx"> [Редактировать]</в> </XSL:когда> <!-- Показать красный индикатор, если мы уже прошел срок. -->
<XSL:когда тест= "ddwrt:Функция FormatDateTime(Строка(ddwrt:Сегодня()), 1033, «ГГГГММДД») >= ddwrt:Функция FormatDateTime(Строка(@Warning_x0020_Date), 1033, «ГГГГММДД»)"> <IMG src="/_layouts/images/KPIDefault-1.gif" Alt= "Предупреждение"/> <в href= "/ HumanResources/списки/новый работник Checklist/EditForm.aspx?ID ={@ ID}&Источник = / HumanResources/Общие документы/Новая аренда Dashboard.aspx"> [Редактировать]</в> </XSL:когда> <!-- Если мы получим здесь, Мы раньше, чем дата предупреждение, так что мы зеленый. -->
<XSL:в противном случае> <IMG src= "/ _layouts/изображения/KPIDefault-0.GIF" Alt«Никаких проблем ="/> <в href= "/ HumanResources/списки/новый работник Checklist/EditForm.aspx?ID ={@ ID}&Источник = / HumanResources/Общие документы/Новая аренда Dashboard.aspx"> [Редактировать]</в> </XSL:в противном случае> </XSL:выбрать> |
Несколько ключевых моментов сверху:
- Я попытался сравнить даты без использования ddwrt функциональность и получил нигде. Я до сих пор не понимаю, что. Они правильно отображаемые даты, но оба»>«и»<«Сравнение всегда не. В конце концов, ddwrt пришел мне на помощь (Спасибо, снова, Марк).
- Я также показаны [Редактировать] Ссылка на элемент. Я главным образом сделал это так, что я мог бы легко проверить это. Сама связь может быть полезным для кого-то пытается выяснить.
- Это онлайн реализована в SharePoint и работает хорошо.
- Изображения, которые я ссылку в каталоге _layouts (/_layouts/изображения/KPI...) доступны из коробки в моей среде, поэтому они вероятно для вас также доступны.
Вот снимок экрана это выглядит для меня:
</конец>
Следуй за мной по щебетать на http://www.twitter.com/pagalvin