การเปรียบเทียบวันที่ใน Web part สำหรับมุมมองข้อมูลเพื่อสร้าง WSS KPI

หมายเหตุ: นี้ถูกลงรายการบัญชีครั้งแรกที่ www.endusersharepoint.com ที่นี่: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.

นี่คือ ยังอื่นบล็อกโพสต์บนเปรียบเทียบวันที่ใน XSL ใน web part สำหรับมุมมองข้อมูลการใน SharePoint.

นี่คือสถานการณ์ของฉัน:

  • มีการรายการแบบกำหนดเอง.
  • วัตถุประสงค์ทางธุรกิจของรายการคือการ สนับสนุนความคิดของพนักงานใหม่และงานที่ตนต้องทำให้เสร็จภายใน 7 วันเริ่มงาน.
  • พวกเขาอยู่ใน "เตือน"โซนหลัง 4 วันถ้าได้ไม่สมบูรณ์แล้วงานเหล่านี้.
  • ต้องการสร้างแดชบอร์ดแบบง่ายซึ่งแสดงสีเขียว เมื่อพวกเขาเสร็จงานอย่างใดอย่างหนึ่ง หรือ ถ้าพวกเขามี มากกว่า 4 วันที่จะดำเนินการเสร็จสิ้น.
  • ต้องการแผงหน้าปัดเพื่อแสดงสีเหลืองถ้าพวกเขาอยู่ในโซนคำเตือน.
  • ต้องการให้แสดงสีแดงถ้าพวกเขาไม่เสร็จงานหลังจากวันครบกำหนด.

ผมยืมคำจาก บทความนี้ ที่ มาร์ค Anderson blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) ตรรกะการเปรียบเทียบการรับ และ บทความนี้ ที่ www.endusersharepoint.com สำหรับแนวความคิดพื้นฐานเบื้องหลังแดชบอร์ด (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) เขียนโดย Toni Frankola.

คุณควรอ่านในบล๊อกที่สนับสนุน, แต่ไปใช้งานดังนี้:

  1. สร้างชนิดเนื้อหา (คอลัมน์ + CT)
  2. สร้างรายการแบบกำหนดเอง และกำหนดความสัมพันธ์กับชนิดเนื้อหา.
  3. สร้างเพจของ web part.
  4. เพิ่มรายการที่กำหนดเองลงในเพจของ web part.
  5. เปิดขึ้นหน้าใน SPD.
  6. แปลงรายการ DVWP.
  7. แก้ไข XSL เพื่อสร้างบิตในแดชบอร์ด.

มีการวันสองวัน: คำเตือนเกี่ยวกับวันและวันครบกำหนด. การเปรียบเทียบวัน, ไม่ xsl ของฉันต่อไปนี้:

 
 <xsl:เลือก>
 
 <!-- เมื่อคู่มือและนโยบายจะถูกเซ็นชื่อ, เรามีสีเขียวโดยไม่คำนึงถึงวัน. -->
 <xsl:เมื่อ ทดสอบ="@Employee_x0020_Handbook_x003F_ = 1 และ@ Security_x0020_Policies = 1">
 <img src= "/ _layouts/รูป ภาพ/KPIDefault-0.GIF" alt= "ไม่มีปัญหา"/>
 <การ href= " / HumanResources/รายการ/New Checklist/EditForm.aspx พนักงาน?ID ={@ ID}&แอมป์;แหล่งที่มา = / HumanResources/ร่วม เอกสาร/ใหม่เช่า Dashboard.aspx"> [แก้ไข]</การ>
 </xsl:เมื่อ>
 
 <!-- ตัวบ่งชี้ที่แสดง amber ถ้าเรากำลังเตือนวันที่ผ่านมา. -->
 <xsl:เมื่อ ทดสอบ= "ddwrt:FormatDateTime(สายอักขระ(ddwrt:วันนี้()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(สายอักขระ(@ TaskDueDate), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-2.GIF" alt= "Overdue"/>
 <การ ลักษณะ= "เส้นขอบ: 0px" href= " / HumanResources/รายการ/New Checklist/EditForm.aspx พนักงาน?ID ={@ ID}&แอมป์;แหล่งที่มา = / HumanResources/ร่วม เอกสาร/ใหม่เช่า Dashboard.aspx"> [แก้ไข]</การ>
 </xsl:เมื่อ>
 
 <!-- แสดงสีแดงถ้าเรากำลังผ่านพ้นไปวันครบกำหนด. -->
 <xsl:เมื่อ ทดสอบ= "ddwrt:FormatDateTime(สายอักขระ(ddwrt:วันนี้()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(สายอักขระ(@ Warning_x0020_Date), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-1.GIF" alt= "คำเตือน"/> 
 <การ href= " / HumanResources/รายการ/New Checklist/EditForm.aspx พนักงาน?ID ={@ ID}&แอมป์;แหล่งที่มา = / HumanResources/ร่วม เอกสาร/ใหม่เช่า Dashboard.aspx"> [แก้ไข]</การ>
 </xsl:เมื่อ>
 
 <!-- ถ้าเราได้รับที่นี่, เรากำลังก่อนหน้าวันคำเตือน, ดังนั้น เราจะสีเขียว. -->
 <xsl:มิฉะนั้น>
 <img src= "/ _layouts/รูป ภาพ/KPIDefault-0.GIF" alt= "ไม่มีปัญหา"/>
 <การ href= " / HumanResources/รายการ/New Checklist/EditForm.aspx พนักงาน?ID ={@ ID}&แอมป์;แหล่งที่มา = / HumanResources/ร่วม เอกสาร/ใหม่เช่า Dashboard.aspx"> [แก้ไข]</การ>
 </xsl:มิฉะนั้น>
 
 </xsl:เลือก>

ประเด็นที่สำคัญบางอย่างจากข้างบน:

  • ฉันพยายามที่จะเปรียบเทียบวันที่ โดยใช้ฟังก์ชัน ddwrt และมีไม่มีที่ไหน. ฉันยังไม่เข้าใจว่า. พวกเขาที่ต้องแสดงอย่างถูกต้อง, แต่ทั้งสองอย่าง">"และ"<"เปรียบเทียบล้มเหลวเสมอ. ในสุด, ddwrt มากู้ภัยของฉัน (ขอขอบคุณ, อีกครั้ง, มาร์ค).
  • ฉันกำลังแสดงการ [แก้ไข] ลิงค์ไปยังสินค้า. ผมส่วนใหญ่ทำอย่างนี้เพื่อที่ฉันสามารถทดสอบนี้ออกได้อย่างง่ายดาย. การเชื่อมโยงตัวเองอาจเป็นประโยชน์กับคนพยายามคิดออก.
  • นี้มีการใช้งานใน SharePoint แบบออนไลน์ และการทำงานทาง.
  • รูปที่ผมอ้างอิงในไดเรกทอรี _layouts (/_layouts/รูป ภาพ/KPI ...) มีพร้อมใช้งานทันทีในสภาพแวดล้อมการทำงานของฉันเพื่อที่จะพร้อมใช้งานสำหรับคุณคงดี.

นี่คือยิงหน้าจอของสิ่งที่ดูเหมือนว่าสำหรับฉัน:

image

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *