Let daarop: dit was die eerste keer gepos op www.endusersharepoint.com hier: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
Dit is nog 'n blog boodskap op die datums in die XSL vergelyk in 'n data vertoning web deel in SharePoint.
Dit is my scenario:
- Ek het 'n persoonlike lys.
- Die doel van die lys is die idee van 'n nuwe werknemer te ondersteun en om sy / haar take te voltooi word binne 7 dae van die begin van die werk.
- Hulle is in 'n "waarskuwing" na 4 dae as hulle nie hierdie take voltooi.
- Ek wil 'n eenvoudige paneelbord wat toon groen is wanneer hulle óf die taak voltooi, of as hulle meer as te skep 4 dae om dit te voltooi.
- Ek wil die paneelbord te wys geel indien hulle in die waarskuwing sone.
- Ek wil om te wys rooi as hulle nie die taak voltooi het na die vervaldatum.
Ek geleen uit hierdie artikel op Marc Anderson se blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) die vergelyking logika te kry en hierdie artikel op www.endusersharepoint.com vir die basiese idees agter die paneelbord (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) geskryf deur Toni Frankola.
Jy moet die ondersteunende blogs lees, maar die implementering gaan soos hierdie:
- Skep 'n tipe inhoud (kolomme + CT)
- Skep 'n persoonlike lys en assosieer dit met die tipe inhoud.
- Skep 'n web deel bladsy.
- Voeg die persoonlike lys op die web deel bladsy.
- Maak die bladsy in SPD.
- Skakel die lys na 'n DVWP.
- Verander die XSL die paneelbord stukkies op te wek.
Ek het twee datums: a warning date and a due date. To compare the dates, My xsl doen die volgende:
<xsl:kies> <!-- Wanneer beide handboek en beleid onderteken, Ons is groen, ongeag van die datums. -->
<xsl:toe toets= "@ Employee_x0020_Handbook_x003F_ = 1 @ Security_x0020_Policies = 1"> <img src= "/ _layouts / Beelde / KPIDefault--0.GIF" ou= "Geen probleme"/> <1 href= "/ Human resources / Lists / nuwe werknemer Checklist / EditForm.aspx?ID ={@ ID}&Bron = / human resources / gedeelde dokumente / nuwe huur Dashboard.aspx"> [Verander]</1> </xsl:toe> <!-- Wys amber aanwyser as ons verby die waarskuwing datum. -->
<xsl:toe toets= "Ddwrt:FormatDateTime(string(ddwrt:Vandag()), 1033, 'JJJJMMDD ") >= Ddwrt:FormatDateTime(string(@ TaskDueDate), 1033, 'JJJJMMDD ")"> <img src= "/ _layouts/images/KPIDefault-2.GIF" ou= "Agterstallige"/> <1 styl= "Border: 0px" href= "/ Human resources / Lists / nuwe werknemer Checklist / EditForm.aspx?ID ={@ ID}&Bron = / human resources / gedeelde dokumente / nuwe huur Dashboard.aspx"> [Verander]</1> </xsl:toe> <!-- Wys rooi aanwyser as ons verby die vervaldatum. -->
<xsl:toe toets= "Ddwrt:FormatDateTime(string(ddwrt:Vandag()), 1033, 'JJJJMMDD ") >= Ddwrt:FormatDateTime(string(@ Warning_x0020_Date), 1033, 'JJJJMMDD ")"> <img src= "/ _layouts/images/KPIDefault-1.GIF" ou= "Waarskuwing"/> <1 href= "/ Human resources / Lists / nuwe werknemer Checklist / EditForm.aspx?ID ={@ ID}&Bron = / human resources / gedeelde dokumente / nuwe huur Dashboard.aspx"> [Verander]</1> </xsl:toe> <!-- As ons hier, ons is vroeër as die datum van waarskuwing, so is ons groen. -->
<xsl:anders> <img src= "/ _layouts / Beelde / KPIDefault--0.GIF" ou= "Geen probleme"/> <1 href= "/ Human resources / Lists / nuwe werknemer Checklist / EditForm.aspx?ID ={@ ID}&Bron = / human resources / gedeelde dokumente / nuwe huur Dashboard.aspx"> [Verander]</1> </xsl:anders> </xsl:kies> |
'N Paar belangrike punte van bo:
- I tried to compare dates without using the ddwrt functionality and got nowhere. I still don’t understand that. They dates displayed correctly, maar beide ">"En"<” comparisons always failed. Op die ou end, ddwrt het tot my redding (dankie, weer, Marc).
- Ek is ook vertoon 'n [Verander] link to the item. I mainly did this so that I could easily test this out. The link itself may be useful to someone trying to figure it out.
- Dit is in SharePoint aanlyn geïmplementeer en werk mooi.
- Die beelde wat ek verwys in die _layouts gids (/_layouts / beelde / KPI ...) beskikbaar is uit die boks in my omgewing, sodat hulle is waarskynlik beskikbaar vir jou as goed.
Hier is 'n skerm prent van hoe dit lyk vir my:
</einde>
Volg my op Twitter http://www.twitter.com/pagalvin