分类存档: 数据视图 Web 部件

比较数据视图 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

快速、 方便: 创建数据视图 Web 部件 (DVWP)

有丰富的 WSS 伟大信息 3.0 数据视图 Web 部件 (DVWP) 从几个来源网上. 不过, 我发现它是出奇地难以找到非常基本的第一步的信息. 这里是另一篇文章中的"快速和容易" 要解决这系列.

请按照以下步骤创建数据视图 web 部件 (DVWP). 它们基于"公告" web 部件, 不过,适用于大多数列表.

  1. 创建通知 web 部件并将其添加到站点.
  2. 在 SharePoint 设计器中打开网站.
  3. 打开该网站 default.aspx.
  4. 选择通知 web 部件,然后右键单击.
  5. 从上下文菜单, 选择"转换到 XSLT 数据视图".

SharePoint 设计器会通知您,这个网站现在从其网站定义自定义. 这不一定不好, 但有重要的影响 (性能, 升级, 其他人) 这是超出了这个小小"快速和容易的范围" 条目. 要获取关于此主题的详细信息, 我推荐两书 在这里 和你最喜欢的互联网搜索.

确认你做到正确:

  1. 关闭并重新打开 web 浏览器 (为了避免意外地重复发布原始的"添加新的 web 部件").
  2. 选择 web 部件的箭头下拉列表,然后选择"修改共享 Web 部件" 从菜单中.
  3. 工具面板打开向右.
  4. 小组已从其惯常的 set 选项更改为此:
图像