最近有个客户希望根据不同的情况在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