Poznámka: to bol najprv vyslaný na www.endusersharepoint.com tu: http://www.endusersharepoint.com/ 2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
To je ešte ďalší blog post na porovnávanie dátumy v XSL webová časť zobrazenia údajov v službe SharePoint.
Toto je môj scenár:
- Mám vlastný zoznam.
- Obchodný účel zoznamu je podporiť myšlienku nového zamestnanca a jeho úlohy bude dokončená v priebehu 7 dní od začatia práce.
- Sú v "upozornenie zóna" po 4 dní, ak nie, že ukončili tieto úlohy.
- Chcem vytvoriť jednoduchý tabuľa ukazuje zelená, keď budú mať buď ukončené úlohy, alebo ak majú viac ako 4 dní na dokončenie.
- Chcem panel Zobraziť žlté, ak sú v pásme upozornenie.
- Chcem ukázať červenú ak oni nedokončili úlohy po dátume splatnosti.
Požičal si od Tento článok na Marc Andersona blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) získať porovnanie logiku a Tento článok na www.endusersharepoint.com pre základné myšlienky palubnej dosky (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) Písomné Toni Frankola.
Ste si mali prečítať podporné blogy, ale implementácia ide takhle:
- Vytvorenie typu obsahu (stĺpce + CT)
- Vytvorenie vlastného zoznamu a priradiť k typu obsahu.
- Vytvoriť stránku webovej časti.
- Pridať vlastný zoznam na stránku webovej časti.
- Otvoriť stránku v SPD.
- Konvertovať zoznam na DVWP.
- Upraviť súbor XSL, vytvoriť tabuľu bity.
Mám dva termíny: Upozornenie a termín splnenia. Porovnať dáta, môj xsl robí takto:
<XSL:Vyberte> <!-- Keď sú podpísané príručky a politiky, sme zelená bez ohľadu na dátumy. -->
<XSL:keď, kedy skúška="@Employee_x0020_Handbook_x003F_ = 1 a @Security_x0020_Policies = 1"> <IMG src= / _layouts/obrázky/KPIDefault-0.GIF" ALT= "Bez problémov"/> <a href= "/ HumanResources/zoznamy/nový zamestnanec Checklist/EditForm.aspx?ID ={@ ID}&Zdroj = / HumanResources/Zdieľané dokumenty/New prenájom Dashboard.aspx"> [Upraviť]</a> </XSL:keď, kedy> <!-- Zobraziť žltý indikátor, ak sme minulý dátum upozornenie. -->
<XSL:keď, kedy skúška= "ddwrt:FormatDateTime(reťazec(DDWRT:Dnes()), 1033, "RRRRMMDD") >= ddwrt:FormatDateTime(reťazec(@TaskDueDate), 1033, "RRRRMMDD")"> <IMG src="/_layouts/images/KPIDefault-2.gif" ALT= "Po lehote splatnosti"/> <a štýl= "hraničné: 0px" href= "/ HumanResources/zoznamy/nový zamestnanec Checklist/EditForm.aspx?ID ={@ ID}&Zdroj = / HumanResources/Zdieľané dokumenty/New prenájom Dashboard.aspx"> [Upraviť]</a> </XSL:keď, kedy> <!-- Zobraziť červený indikátor, ak sme si prešli dátum splatnosti. -->
<XSL:keď, kedy skúška= "ddwrt:FormatDateTime(reťazec(DDWRT:Dnes()), 1033, "RRRRMMDD") >= ddwrt:FormatDateTime(reťazec(@Warning_x0020_Date), 1033, "RRRRMMDD")"> <IMG src="/_layouts/images/KPIDefault-1.gif" ALT= "Upozornenie"/> <a href= "/ HumanResources/zoznamy/nový zamestnanec Checklist/EditForm.aspx?ID ={@ ID}&Zdroj = / HumanResources/Zdieľané dokumenty/New prenájom Dashboard.aspx"> [Upraviť]</a> </XSL:keď, kedy> <!-- Ak sme sa sem dostali, My sme skôr než dátum upozornenie, Takže sme zelené. -->
<XSL:inak> <IMG src= / _layouts/obrázky/KPIDefault-0.GIF" ALT= "Bez problémov"/> <a href= "/ HumanResources/zoznamy/nový zamestnanec Checklist/EditForm.aspx?ID ={@ ID}&Zdroj = / HumanResources/Zdieľané dokumenty/New prenájom Dashboard.aspx"> [Upraviť]</a> </XSL:inak> </XSL:Vyberte> |
Niekoľko kľúčových bodov z vyššie:
- Snažil som sa porovnať dáta bez použitia ddwrt funkčnosť a nikam. Stále nechápem, že. Sú dátumy zobrazujú správne, ale aj">"a"<"porovnanie vždy zlyhal. V závere, DDWRT prišiel zachrániť (vďaka, znova, Marc).
- Som tiež zobrazenie [Upraviť] prepojenie na položku. Hlavne som to tak, že som mohol ľahko vyskúšať to. Samotný odkaz môže byť užitočné pre niekoho snažia prísť na to.
- To je implementovaný v SharePoint online a funguje pekne.
- Obrázky som odkaz v adresári _layouts (/_Layouts/obrázky/KPI...) sú k dispozícii po vybalení z krabice v mojom prostredí tak, že sú pravdepodobne k dispozícii pre vás aj.
Tu je screen shot to vyzerá pre mňa:
</koniec>
Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin