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('_')[1];
            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兄弟们 周未愉快

 

posted @ 2012-07-06 20:12  @@@一统@@@  阅读(1416)  评论(3编辑  收藏  举报