Steven Hwang
别人或许可以暂时阻挡你,但是只有你自己能阻挡你一生的前途。

最近有个客户希望根据不同的情况在SharePoint日历中显示不同的颜色,经过一番研究,找到一下解决方案。

首先在日历列表加入一个选项类型的栏,比如“紧急程度”,分别键入选项比如“高、中、低”,并将日历视图的子标题改为“紧急程度”。

其次,在服务器的某个目录下,或者文档库上载jquery.js

然后编辑日历页面,并在日历视图中插入一个内容编辑器,并选择编辑源,并在HTML源中插入以下代码

<script src="/sites/CRM/Shared%20Documents/jquery.js" type="text/javascript"></script> 
<script type="text/javascript">

var _calColorMap = {"":"#ff0000","":"#ffd700","":"#008000"};

function _calColor(){

$('div.ms-acal-item').each(function(){

var title = $(this).attr('title');

if(typeof(title) != 'undefined' && title != null){

if(title.lastIndexOf(')') == (title.length - 1)){

title = title.substring(title.lastIndexOf('(') + 1, title.length -1);

if(typeof(_calColorMap[title]) != 'undefined'){

$(this).css('background-color', _calColorMap[title]);

}

}

}

});

setTimeout('_calColor()');

}

ExecuteOrDelayUntilScriptLoaded(_calColor, "SP.UI.ApplicationPages.Calendar.js");

</script>

第1行,引用jquery的脚本文件,我在这里将它上传到了文档库中,你也可以放在其他位置。

第3行,这里设置了一个字典变量,来进行“紧急程度-颜色”的映射,在这里将“高”显示为红色,将“中”显示为黄色,将“低”显示为绿色。

下面日历视图上的效果:

 

参考:

http://blog.joycode.com/erucy/archives/2010/09/20/116073.joy

posted on 2013-06-03 13:50  黄孙  阅读(1020)  评论(0编辑  收藏  举报