比较数据视图 Web 部件中的日期,以生成 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 部件在 SharePoint 中的日期.

这是我的方案:

  • 我有一个自定义列表.
  • 列表中的业务目的是支持内完成新员工和任务的想法 7 天开始作业的.
  • 他们是在一个"预警区"后 4 如果他们没有完成这些任务的天.
  • 我要创建一个简单的仪表板,显示绿色时他们也完成了任务,或者,如果他们有超过 4 天来完成它.
  • 我想要的仪表板显示黄色的如果他们是在警告区.
  • 希望显示红色 ; 如果他们没有完成任务后的截止日期.

我从借 这篇文章马克 · 安德森 博客 (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/) 写的 托妮 · Frankola.

您应该阅读支持博客, 但执行这样:

  1. 创建内容类型 (列 + CT)
  2. 创建自定义列表,并将它与该内容类型相关联.
  3. 创建 web 部件页.
  4. 向 web 部件页中添加的自定义列表.
  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/列表/新员工 Checklist/EditForm.aspx?ID ={@ ID}&amp;源 = / HumanResources/共享文件或新雇 Dashboard.aspx"> [编辑]</>
 </xsl:当>
 
 <!-- 显示琥珀色指示灯是否我们过去的警告日期. -->
 <xsl:当 测试="ddwrt:已被格式化为(字符串(ddwrt:今天()), 1033, '' yyyyMMdd) &gt;ddwrt =:已被格式化为(字符串(@TaskDueDate), 1033, '' yyyyMMdd)">
 <img src="/_layouts/images/KPIDefault-2.GIF" alt="过期"/>
 < 样式="边界: 0px" href="/ HumanResources/列表/新员工 Checklist/EditForm.aspx?ID ={@ ID}&amp;源 = / HumanResources/共享文件或新雇 Dashboard.aspx"> [编辑]</>
 </xsl:当>
 
 <!-- 显示红色指示灯是否我们传递的截止日期. -->
 <xsl:当 测试="ddwrt:已被格式化为(字符串(ddwrt:今天()), 1033, '' yyyyMMdd) &gt;ddwrt =:已被格式化为(字符串(@Warning_x0020_Date), 1033, '' yyyyMMdd)">
 <img src="/_layouts/images/KPIDefault-1.GIF" alt="警告"/> 
 < href="/ HumanResources/列表/新员工 Checklist/EditForm.aspx?ID ={@ ID}&amp;源 = / HumanResources/共享文件或新雇 Dashboard.aspx"> [编辑]</>
 </xsl:当>
 
 <!-- 如果我们能在这里, 我们早于警告日期, 所以我们绿色. -->
 <xsl:否则>
 <img src="/ _layouts/图像/KPIDefault-0.GIF" alt="没有问题"/>
 < href="/ HumanResources/列表/新员工 Checklist/EditForm.aspx?ID ={@ ID}&amp;源 = / HumanResources/共享文件或新雇 Dashboard.aspx"> [编辑]</>
 </xsl:否则>
 
 </xsl:选择>

从上面的几个关键点:

  • 我试图不使用 ddwrt 功能比较日期和没有成功. 仍不明白. 他们显示正确的日期, 但两者都">"和"<"比较总是失败. 在结束, ddwrt 来拯救我 (谢谢你, 再次, 马克 ·).
  • 我也要显示 [编辑] 链接到该项目. 我主要是做这,我可以轻松地测试一下. 链接本身可能对某人试图找出有用.
  • 这在线在 SharePoint 中实现,很好地工作.
  • 引用 _layouts 目录中的图像 (/_layouts/图像/KPI......) 是可用现成的在我的环境中,所以他们也是大概可供您的.

是的看起来像我的屏幕截图:

image

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

留言

您的电子邮件地址不会被公开. 必需的地方已做标记 *