Nota: ito ay unang nai-post sa www.endusersharepoint.com dito: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
Ito ay isa pang blog post sa paghahambing ng mga petsa sa XSL sa isang data bahagi view ng web sa SharePoint.
Ito ang aking sitwasyon:
- Mayroon akong isang pasadyang listahan.
- Ang layunin ng negosyo ng listahan ay upang suportahan ang mga ideya ng isang bagong empleyado at ang kanyang / kanyang mga gawain na kukumpletuhin sa loob 7 araw ng simula ng trabaho.
- Ang mga ito ay sa isang "zone babala" pagkatapos 4 araw kung hindi nakumpleto na nila ang mga gawaing ito sa.
- Gusto kong lumikha ng isang simpleng dashboard na nagpapakita berde kapag alinman nakumpleto na nila ang mga gawain o kung mayroon silang higit sa 4 mga araw upang makumpleto ito.
- Gusto ko ng dashboard upang ipakita ang dilaw na kung ang mga ito sa zone babala.
- Gusto kong ipakita sa pula kung hindi nakumpleto na nila ang mga gawain pagkatapos ng takdang petsa.
Ako hiram mula sa artikulong ito sa Marc Anderson ni blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) upang makuha ang logic paghahambing at artikulong ito sa www.endusersharepoint.com para sa mga pangunahing ideya sa likod ng dashboard (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) na isinulat ni Toni Frankola.
Dapat mong basahin ang pagsuporta sa mga blog, ngunit ang pagpapatupad napupunta tulad nito:
- Lumikha ng isang uri ng nilalaman (mga haligi + CT)
- Lumikha ng custom na listahan at iugnay ito sa ang uri ng nilalaman.
- Lumikha ng isang web page na bahagi.
- Magdagdag ng custom na listahan sa web page bahagi.
- Buksan ang pahina sa SPD.
- Convert ang listahan sa isang DVWP.
- Baguhin ang XSL upang mabuo ang mga piraso dashboard.
Mayroon akong dalawang mga petsa: a warning date and a due date. To compare the dates, aking xsl ang ipinapakita ng sumusunod na:
<xsl:piliin> <!-- Kapag parehong manwal patakaran at naka-sign, kami ay berde anuman ang petsa. -->
<xsl:kapag pagsubok="@Employee_x0020_Handbook_x003F_ = 1 at @ Security_x0020_Policies = 1"> <img SRC="/_layouts/images/KPIDefault-0.GIF" luma="No problems"/> <isang href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&Source = / HumanResources / Ibinahagi Documents / Bagong hire Dashboard.aspx"> [I-edit]</isang> </xsl:kapag> <!-- Ipakita ang ambar tagapagpahiwatig, kung hindi kami nakaraan ang petsa ng babala. -->
<xsl:kapag pagsubok="ddwrt:FormatDateTime(pisi(ddwrt:Ngayon()), 1033, 'YYYYMMDD') >= Ddwrt:FormatDateTime(pisi(@ TaskDueDate), 1033, 'YYYYMMDD')"> <img SRC="/_layouts/images/KPIDefault-2.GIF" luma="Overdue"/> <isang estilo="border: 0px" href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&Source = / HumanResources / Ibinahagi Documents / Bagong hire Dashboard.aspx"> [I-edit]</isang> </xsl:kapag> <!-- Ipakita ang red indicator kung kami ay nakapasa sa takdang petsa. -->
<xsl:kapag pagsubok="ddwrt:FormatDateTime(pisi(ddwrt:Ngayon()), 1033, 'YYYYMMDD') >= Ddwrt:FormatDateTime(pisi(@ Warning_x0020_Date), 1033, 'YYYYMMDD')"> <img SRC="/_layouts/images/KPIDefault-1.GIF" luma="Warning"/> <isang href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&Source = / HumanResources / Ibinahagi Documents / Bagong hire Dashboard.aspx"> [I-edit]</isang> </xsl:kapag> <!-- Kung makuha namin dito, kami ay mas maaga kaysa sa petsa ng babala, kaya kami ay berde. -->
<xsl:kung hindi> <img SRC="/_layouts/images/KPIDefault-0.GIF" luma="No problems"/> <isang href="/HumanResources/Lists/New Employee Checklist/EditForm.aspx?ID ={@ ID}&Source = / HumanResources / Ibinahagi Documents / Bagong hire Dashboard.aspx"> [I-edit]</isang> </xsl:kung hindi> </xsl:piliin> |
Ang ilang key puntos mula sa itaas:
- I tried to compare dates without using the ddwrt functionality and got nowhere. I still don’t understand that. They dates displayed correctly, ngunit pareho ">"At"<” comparisons always failed. Sa katapusan, ddwrt ang dumating sa aking Pagsagip (salamat, muli, Marc).
- Din ako sa pagpapakita ng isang [I-edit] 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.
- Ito ay ipinapatupad sa SharePoint online at gumagana mahusay.
- Ang mga imahe ako isangguni sa direktoryo _layouts (/_layouts / images / KPI ...) Available sa labas ng kahon sa aking mga kapaligiran sa gayon ang mga ito ay marahil ay magagamit para sa iyo pati na rin.
Narito ang isang screen shot ng kung ano ang mukhang para sa akin:
</dulo>
Sundin ako sa Twitter sa http://www.twitter.com/pagalvin