Jämföra datum i en datavywebbdel att skapa en WSS-KPI

Anmärkning: Detta var först publicerad på www.endusersharepoint.com Här: http://www.endusersharepoint.com/2009/11/02/Comparing-dates-in-a-data-View-Web-part-to-build-a-WSS-KPI-in-SharePoint/.

Detta är en annan blogg inlägg på jämföra datum i XSL i en datavywebbdel i SharePoint.

Detta är min scenario:

  • Jag har en egen lista.
  • Business syftet med listan är att stödja idén om en ny medarbetare och sina arbetsuppgifter att slutföras inom 7 dagar efter jobbet startas.
  • De är i en "varning zon" efter 4 dagar om de inte har slutfört dessa uppgifter.
  • Jag vill skapa en enkel instrumentpanel som visar grönt när de antingen har slutfört aktiviteten eller om de har mer än 4 dagar att slutföra det.
  • Jag vill på instrumentpanelen visar gult om de finns i zonen varning.
  • Jag vill att visa rött om de inte har slutfört aktiviteten efter förfallodatum.

Jag lånade från denna artikel vid Marc Anderson blogg (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) att få logiken som jämförelse och denna artikel vid www.endusersharepoint.com för de grundläggande idéerna bakom instrumentpanelen (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) skriven av Toni Frankola.

Du bör läsa den stödjande bloggen, men genomförandet går såhär:

  1. Skapa en innehållstyp (kolumner + CT)
  2. Skapa en anpassad lista och associera den med innehållstypen.
  3. Skapa en webbdelssida.
  4. Lägg till den anpassade listan till webbdelssidan.
  5. Öppna sidan i SPD.
  6. Konvertera listan till ett DVWP.
  7. Ändra XSL att generera instrumentpanelen bitar.

Jag har två datum: en varning datum och ett förfallodatum. Att jämföra datum, min xsl gör följande:

 
 <XSL:Välj>
 
 <!-- När både handbok och politik är signerade, Vi är gröna oberoende av datum. -->
 <XSL:När Testa="@Employee_x0020_Handbook_x003F_ = 1 och @ Security_x0020_Policies = 1">
 <IMG src= / _layouts/bilder/KPIDefault-0.GIF" ALT= "Inga problem"/>
 <en href= "/ HumanResources/listor/ny medarbetare Checklist/EditForm.aspx?ID ={@ ID}&amp;Källa = / HumanResources/delade hyra dokument/nya Dashboard.aspx"> [Redigera]</en>
 </XSL:När>
 
 <!-- Visa gula indikator om vi tidigare varning datum. -->
 <XSL:När Testa= "ddwrt:FormatDateTime(sträng(ddwrt:Idag()), 1033, "ÅÅÅÅMMDD") &gt;= ddwrt:FormatDateTime(sträng(@ TaskDueDate), 1033, "ÅÅÅÅMMDD")">
 <IMG src="/_layouts/images/KPIDefault-2.gif" ALT= "Overdue"/>
 <en stil= "kant: 0px" href= "/ HumanResources/listor/ny medarbetare Checklist/EditForm.aspx?ID ={@ ID}&amp;Källa = / HumanResources/delade hyra dokument/nya Dashboard.aspx"> [Redigera]</en>
 </XSL:När>
 
 <!-- Visa röda indikatorn om vi är passerat förfallodagen. -->
 <XSL:När Testa= "ddwrt:FormatDateTime(sträng(ddwrt:Idag()), 1033, "ÅÅÅÅMMDD") &gt;= ddwrt:FormatDateTime(sträng(@ Warning_x0020_Date), 1033, "ÅÅÅÅMMDD")">
 <IMG src="/_layouts/images/KPIDefault-1.gif" ALT= "Varning"/> 
 <en href= "/ HumanResources/listor/ny medarbetare Checklist/EditForm.aspx?ID ={@ ID}&amp;Källa = / HumanResources/delade hyra dokument/nya Dashboard.aspx"> [Redigera]</en>
 </XSL:När>
 
 <!-- Om vi får här, Vi är tidigare än datumet som varning, så vi är grön. -->
 <XSL:Annars>
 <IMG src= / _layouts/bilder/KPIDefault-0.GIF" ALT= "Inga problem"/>
 <en href= "/ HumanResources/listor/ny medarbetare Checklist/EditForm.aspx?ID ={@ ID}&amp;Källa = / HumanResources/delade hyra dokument/nya Dashboard.aspx"> [Redigera]</en>
 </XSL:Annars>
 
 </XSL:Välj>

Några viktiga punkter från ovan:

  • Jag försökte jämföra datum utan att använda ddwrt funktionaliteten och fick ingenstans. Jag förstår det fortfarande inte. De datum visas korrekt, men båda">"och"<"jämförelser alltid misslyckats. I slutet, ddwrt kom till min räddning (Tack, igen, Marc).
  • Jag också visa en [Redigera] länka till artikeln. Jag gjorde detta främst så att jag kunde lätt testa här ute. Själva länken kan vara användbar för någon som försöker lista ut.
  • Detta genomförs i SharePoint online och fungerar snyggt.
  • Bilderna jag referera i katalogen _layouts (/_layouts/bilder/KPI…) är tillgängliga i rutan i min miljö så att de antagligen tillgängligt för dig samt.

Här är en skärmdump av hur det ser ut för mig:

image

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *