vivion34 发表于 2015-9-25 09:26:10

SharePoint 2010 列表字段之KPI

  目前加入了新项目组,正在了解详细设计及Demo,在了解过程中发现有要改进的地方,主要是界面的用户体验上,
  Demo如下图

  修改后的界面

  在一定程序上美化了体验效果,这一列是如何实现的呢,下面就对这KPI列做进一步的讲解:
  第一步:通过IE查看源文件发现,每个字段对应的CSS为 ms-vb2 ,如果熟悉Jquery的兄弟们,不能发现,我们可以通过Jquery 的Each 方法遍历,修改属性,为了更好的进行定位,输入的值要以KPI_开头,这个根据自己的需求自己定了,本文以KPI_为例。         



$(document).ready(function () {
$('TD.ms-vb2:contains("KPI_")').each(function () {
$(this).html(SetKpi($(this).html()));
});
});
  上面的代码可以定位到要修改的栏。
  第二步:设置SetKpi 方法,把栏的值修改一下,变成KPI图标显示,在引用Script之间要先引用Jquery,否则会报错



<script type="text/javascript">
var strImage = "";
var strAlt = "";
var kpiValue = "";
$(document).ready(function () {
$('TD.ms-vb2:contains("KPI_")').each(function () {
$(this).html(SetKpi($(this).html()));
});
});
function SetKpi(Value) {
kpiValue = Value.toString().split('_');
strAlt = "完成率" + kpiValue + "%";
if (kpiValue >= 90) {
strImage = "kpipepperalarm-0.gif";
}
else if (kpiValue < 90 && kpiValue >= 75) {
strImage = "kpipepperalarm-1.gif"
}
else if (kpiValue < 75 && kpiValue >= 60) {
strImage = "kpipepperalarm-2.gif"
}
else {
strImage = "kpinormal-0.gif";
}
return "<img src='/_layouts/images/" + strImage + "' border='0' alt='" + strAlt + "' title='" + strAlt + "'>"
}
</script>
  第三步:代码写好,如果把JS代码嵌套到页面里面呢,下面来介绍一下内容编辑WebPart,截图吧,这样更容易说明

  注意事项,这里不能在内容编辑器里面直接写代码,因这是以文本的形式来呈现的,这时要点 编辑HTML源代码 ,之后会弹出来一个对话框,之后把相应的JS添加进去就可以了,
  第四部:一定要记得保存啊,否则没有效果的
  兄弟们来试试吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  预祝:IT兄弟们 周未愉快
  
页: [1]
查看完整版本: SharePoint 2010 列表字段之KPI