Bemærk: Dette blev først bogført på www.endusersharepoint.com Her: http://www.endusersharepoint.com/2009/11/02/Comparing-Dates-in-a-data-View-Web-part-to-build-a-WSS-KPI-in-SharePoint/.
Dette er endnu en anden blog bogfører på sammenligning af datoer i XSL i en webdelen Datavisning i SharePoint.
Dette er min scenario:
- Jeg har en brugerdefineret liste.
- Forretningsformål af listen er at støtte idéen om en ny medarbejder og sine opgaver skal være afsluttet inden 7 dage med at starte jobbet.
- De er i en "advarsel zone" efter 4 dage, hvis de ikke har gennemgået disse opgaver.
- Jeg ønsker at oprette en simpel dashboard, som viser grønt, når de har enten fuldført opgaven, eller hvis de har mere end 4 dage til at fuldføre det.
- Jeg ønsker dashboard vise gule hvis de er i zonen advarsel.
- Jeg ønsker at vise røde, hvis de ikke har fuldført opgaven efter forfaldsdato.
Jeg har lånt af denne artikel ved Marc Anderson blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) at få sammenligning logik og denne artikel ved www.endusersharepoint.com for de grundlæggende idéer bag instrumentbrættet (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) skrevet af Toni Frankola.
Du bør læse den understøttende blogs, men gennemførelsen går sådan her:
- Opret en indholdstype (kolonner + CT)
- Oprette en brugerdefineret liste og knytte den til den type indhold.
- Oprette en webdelsside.
- Føje den brugerdefinerede liste til webdelssiden.
- Åbn siden i SPD.
- Konverter listen til en DVWP.
- Redigere XSL-koden for at generere dashboard bits.
Jeg har to datoer: en advarsel dato og en forfaldsdato. At sammenligne datoerne, min xsl gør følgende:
<XSL:Vælg> <!-- Når både håndbogen og politik er logget, Vi er grønne uanset datoer. -->
<XSL:Hvornår test="@Employee_x0020_Handbook_x003F_ = 1 og @Security_x0020_Policies = 1"> <IMG src= "/ _layouts/billeder/KPIDefault-0.GIF" alt= "Ingen problemer"/> <en href= "/ Udviklingspotentiellet/lister/nye medarbejder Checklist/EditForm.aspx?ID ={@ ID}&Kilde = / udviklingspotentiellet/delte leje dokumenter/nye Dashboard.aspx"> [Rediger]</en> </XSL:Hvornår> <!-- Vis rav indikator hvis vi forbi advarsel datoen. -->
<XSL:Hvornår test= "ddwrt:FormatDateTime(streng(ddwrt:I dag()), 1033, 'yyyyMMdd') >= ddwrt:FormatDateTime(streng(@TaskDueDate), 1033, 'yyyyMMdd')"> <IMG src="/_layouts/images/KPIDefault-2.gif" alt= "Forfaldne"/> <en stil= "grænse: 0PX" href= "/ Udviklingspotentiellet/lister/nye medarbejder Checklist/EditForm.aspx?ID ={@ ID}&Kilde = / udviklingspotentiellet/delte leje dokumenter/nye Dashboard.aspx"> [Rediger]</en> </XSL:Hvornår> <!-- Vis røde indikator, hvis vi er passeret forfaldsdatoen. -->
<XSL:Hvornår test= "ddwrt:FormatDateTime(streng(ddwrt:I dag()), 1033, 'yyyyMMdd') >= ddwrt:FormatDateTime(streng(@Warning_x0020_Date), 1033, 'yyyyMMdd')"> <IMG src="/_layouts/images/KPIDefault-1.gif" alt= "Advarsel"/> <en href= "/ Udviklingspotentiellet/lister/nye medarbejder Checklist/EditForm.aspx?ID ={@ ID}&Kilde = / udviklingspotentiellet/delte leje dokumenter/nye Dashboard.aspx"> [Rediger]</en> </XSL:Hvornår> <!-- Hvis vi får her, Vi er tidligere end datoen advarsel, så vi er grønne. -->
<XSL:ellers> <IMG src= "/ _layouts/billeder/KPIDefault-0.GIF" alt= "Ingen problemer"/> <en href= "/ Udviklingspotentiellet/lister/nye medarbejder Checklist/EditForm.aspx?ID ={@ ID}&Kilde = / udviklingspotentiellet/delte leje dokumenter/nye Dashboard.aspx"> [Rediger]</en> </XSL:ellers> </XSL:Vælg> |
Nogle få nøglepunkter fra oven:
- Jeg prøvede at sammenligne datoer uden at bruge funktionen ddwrt og fik ingenting. Jeg forstår stadig ikke. De datoer, vises korrekt, men både">"og"<"sammenligninger altid mislykkedes. I sidste ende, ddwrt kom til min redning (Tak, igen, Marc).
- Jeg viser også en [Rediger] link til varen. Jeg gjorde hovedsagelig det så at jeg kunne nemt teste dette ud. Selve linket kan være nyttigt at en person forsøger at finde ud af det.
- Dette er implementeret i SharePoint online og fungerer fint.
- De billeder jeg referere til i mappen _layouts (/_layouts/billeder/KPI...) findes ud af boksen i min miljø, så de er sandsynligvis tilgængelig for dig så godt.
Her er et skærmbillede af hvordan det ser ud for mig:
</slutningen>
Følg mig på kvidre på http://www.twitter.com/pagalvin