Примітка: Це був спочатку розміщено на 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 днів, щоб завершити його.
- Я хочу, щоб dashboard щоб показати жовтий, якщо вони знаходяться в зоні попередження.
- Я хочу, щоб показати червону, якщо вони не завершені завдання після у встановлений термін.
Я запозичені з у цій статті в Марк Андерсон блог (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/) написані Тоні Frankola.
Ви повинні прочитати допоміжні блоги, Але реалізація виглядає наступним чином:
- Створити тип вмісту (стовпці + CT)
- Створити Настроюваний список і пов'язати його з типу вмісту.
- Створення сторінки веб-частин.
- Додати власний список на сторінці веб-частин.
- Відкрийте сторінку в СДПН.
- Перетворити список на DVWP.
- Змінити XSL для створення приладної дошки біти.
У мене є двома датами: попередження про дату та термін дії. Для порівняння дат, мій xsl виконує такі:
<перетворення XSL:вибрати> <!-- Коли підписали довідник і політики, Ми є зелений незалежно від дати. -->
<перетворення XSL:Коли тест="@Employee_x0020_Handbook_x003F_ = 1 і @Security_x0020_Policies = 1"> <IMG НДЦ= "/ зображень/_layouts/KPIDefault-0.GIF" Alt= "Проблем немає"/> <на href= "/ HumanResources/списки/новий співробітник Checklist/EditForm.aspx?ID ={@ ID}&підсилювач;Джерело = / HumanResources/Спільні документи/нові найняти Dashboard.aspx"> [Редагувати]</на> </перетворення XSL:Коли> <!-- Показати бурштинових індикатор, якщо ми минулого попередження дата. -->
<перетворення XSL:Коли тест= "ddwrt:FormatDateTime(рядок(: Сьогодні()), 1033, 'РРРРММДД') & gt; = ddwrt: FormatDateTime (рядок ( @TaskDueDate), 1033, 'РРРРММДД') ":Сьогодні()), 1033, 'РРРРММДД') >= ddwrt:FormatDateTime(рядок(@TaskDueDate), 1033, 'РРРРММДД')"> <IMG НДЦ="/_layouts/Images/KPIDefault-2.gif" Alt= "Прострочені"/> <на стиль= "Прикордонний: 0пікс." href= "/ HumanResources/списки/новий співробітник Checklist/EditForm.aspx?ID ={@ ID}&підсилювач;Джерело = / HumanResources/Спільні документи/нові найняти Dashboard.aspx"> [Редагувати]</на> </перетворення XSL:Коли> <!-- Показують червоний індикатор, якщо ми все пройшло у встановлений термін. -->
<перетворення XSL:Коли тест= "ddwrt:FormatDateTime(рядок(: Сьогодні()), 1033, 'РРРРММДД') & gt; = ddwrt: FormatDateTime (рядок ( @TaskDueDate), 1033, 'РРРРММДД') ":Сьогодні()), 1033, 'РРРРММДД') >= ddwrt:FormatDateTime(рядок(@Warning_x0020_Date), 1033, 'РРРРММДД')"> <IMG НДЦ="/_layouts/Images/KPIDefault-1.gif" Alt= "Попередження"/> <на href= "/ HumanResources/списки/новий співробітник Checklist/EditForm.aspx?ID ={@ ID}&підсилювач;Джерело = / HumanResources/Спільні документи/нові найняти Dashboard.aspx"> [Редагувати]</на> </перетворення XSL:Коли> <!-- Якщо ми отримаємо тут, ми раніше, ніж дата попередження, так що ми зелений. -->
<перетворення XSL:в іншому випадку> <IMG НДЦ= "/ зображень/_layouts/KPIDefault-0.GIF" Alt= "Проблем немає"/> <на href= "/ HumanResources/списки/новий співробітник Checklist/EditForm.aspx?ID ={@ ID}&підсилювач;Джерело = / HumanResources/Спільні документи/нові найняти Dashboard.aspx"> [Редагувати]</на> </перетворення XSL:в іншому випадку> </перетворення XSL:вибрати> |
Кілька ключових моментів зверху:
- Я спробував Порівняйте дати без використання ddwrt функціональність і ніде не отримав. Я до сих пір не розумію, що. Вони дати відображаються правильно, але обидва">"і"<"порівняння завжди невдачу. Врешті-решт, на допомогу мені прийшов ddwrt (Дякую, знову, Марк).
- Я також відображення послугами [Редагувати] посилання на елемент. В основному я робив це так, щоб я міг легко перевірити цієї out. Саме посилання можуть бути корисні для хтось намагається зрозуміти це.
- Це реалізується в SharePoint онлайн і працює гарно.
- Я посилання в каталозі _layouts зображення (/_layouts, зображення, КПІ...) доступні з коробки в моєму оточенні, тому вони напевно для вас також можуть.
Ось знімок екрана з як виглядає для мене:
</кінець>
Йди за мною на Twitter в http://www.twitter.com/pagalvin