Nota: Aquest primer va ser publicada a www.endusersharepoint.com aquí: http://www.endusersharepoint.com/ 2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
Això és encara un altre bloc en comparar els dates en XSL a un element web de visualització dades en SharePoint.
Aquest és el meu escenari:
- Tinc una llista personalitzada.
- L'objecte social de la llista és donar suport a la idea d'un nou empleat i les seves tasques per ser completada en 7 dies de començar la feina.
- Es troben en una "zona d'alerta" després de 4 dies si no hagin finalitzat aquestes tasques.
- Vull crear un quadre de comandament simple que Mostra verd quan tampoc hagin finalitzat la tasca o si tenen més de 4 dies per completar-lo.
- Vull el quadre de comandament per mostrar groc si estan a la zona d'alerta.
- Vull mostrar vermell si ja no ha finalitzat la tasca després de la data de venciment.
He pres de Aquest article a les De marc Anderson bloc (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) per aconseguir la lògica de comparació i Aquest article a les www.endusersharepoint.com per a les idees bàsiques darrere el quadre de comandament (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) escrit Toni Frankola.
Hauria de llegir els blocs suport, però la implementació Bhairava:
- Crear un tipus de contingut (columnes + CT)
- Crear una llista personalitzada i associar-la amb el tipus de contingut.
- Crear una pàgina d'elements web.
- Afegir la llista personalitzada a la pàgina d'elements web.
- Obrir la pàgina en SPD.
- Convertir la llista a un DVWP.
- Modificar l'XSL per generar les miques de quadre de comandament.
Tinc dues dates: una data d'advertència i una data de venciment. Comparar les dates, meu xsl fa la següent:
<XSL:triar> <!-- Quan estan signats tant manual i política, Som verds sense tenir en compte les dates. -->
<XSL:Quan prova="@Employee_x0020_Handbook_x003F_ = 1 i @Security_x0020_Policies = 1"> <img src= "/ layouts/imatges/KPIDefault-0.GIF" alt= "No hi ha problemes"/> <un href= "/ Recursos humans/llistes/nou empleat Checklist/EditForm.aspx?ID ={@ ID}&lificador;Font = / recursos humans/compartir Documents/nou lloguer Dashboard.aspx"> [Editar]</un> </XSL:Quan> <!-- Indicador Mostra ambre si som passat la data d'advertència. -->
<XSL:Quan prova= "ddwrt:FormatDateTime(corda(DDWRT:Avui()), 1033, 'yyyyMMdd') >= ddwrt:FormatDateTime(corda(@TaskDueDate), 1033, 'yyyyMMdd')"> <img src="/_layouts/images/KPIDefault-2.gif" alt= "Endarrerit"/> <un estil= "vora: 0px" href= "/ Recursos humans/llistes/nou empleat Checklist/EditForm.aspx?ID ={@ ID}&lificador;Font = / recursos humans/compartir Documents/nou lloguer Dashboard.aspx"> [Editar]</un> </XSL:Quan> <!-- Mostra l'indicador vermell si estàs passem la data de venciment. -->
<XSL:Quan prova= "ddwrt:FormatDateTime(corda(DDWRT:Avui()), 1033, 'yyyyMMdd') >= ddwrt:FormatDateTime(corda(@Warning_x0020_Date), 1033, 'yyyyMMdd')"> <img src="/_layouts/images/KPIDefault-1.gif" alt= "Avís"/> <un href= "/ Recursos humans/llistes/nou empleat Checklist/EditForm.aspx?ID ={@ ID}&lificador;Font = / recursos humans/compartir Documents/nou lloguer Dashboard.aspx"> [Editar]</un> </XSL:Quan> <!-- Si arribem aquí, Estem anteriors a la data d'advertència, Així que estem verd. -->
<XSL:en cas contrari> <img src= "/ layouts/imatges/KPIDefault-0.GIF" alt= "No hi ha problemes"/> <un href= "/ Recursos humans/llistes/nou empleat Checklist/EditForm.aspx?ID ={@ ID}&lificador;Font = / recursos humans/compartir Documents/nou lloguer Dashboard.aspx"> [Editar]</un> </XSL:en cas contrari> </XSL:triar> |
Alguns punts clau des de dalt:
- Vaig tractar de comparar els dates sense utilitzar la funcionalitat de ddwrt i té enlloc. Encara no entenc que. Es dates visualitzades correctament, però tant">"i"<"comparacions sempre ha fallat. Al final, DDWRT venia al meu rescat (Gràcies, una altra vegada, Marc).
- Jo també estic veient un [Editar] enllaç a l'element. Principalment feia això perquè jo fàcilment podria provar-ho. L'enllaç pot ser útil a algú tractant d'esbrinar-ho.
- Això s'implementa Microsoft Office SharePoint Server en línia i funciona molt bé.
- Les imatges que de referència en el directori de layouts (/layouts/imatges/KPI...) estan disponibles fora de la caixa en el meu entorn així són probablement disponibles per a vostè, així.
Aquí està una captura de pantalla del que es sembla per a mi:
</final>
Follow me on Twitter http://www.twitter.com/pagalvin