SharePoint 2013 日历根据Category显示不同颜色

简介:   最近有一个小需求,就是SharePoint的日历类型列表,用户希望根据Event里面的Category不同,在前台视图显示成不同的颜色,绞尽脑汁,想到这么个办法,分享给大家,希望有更好方法的也能留言推荐给我。

  最近有一个小需求,就是SharePoint的日历类型列表,用户希望根据Event里面的Category不同,在前台视图显示成不同的颜色,绞尽脑汁,想到这么个办法,分享给大家,希望有更好方法的也能留言推荐给我。

  效果,如下图:

  不一样Category的Event,前台显示的背景色不相同;

clip_image002

  原理

  通过分析日历视图的前台HTML,发现所有的Event都在一个div里面,而且div的class都是一样的,所以,用JQuery获取所有Event的div就比较容易了。

clip_image004

  再深一层查看,div下面标题的链接,里面有Event的ID,通过js解析出来这个ID也不是什么难事儿,所以,根据ID用ECMAScript获取这个Event的Category也变得可行,然后再把这个Event最外面的div背景颜色改变,即可。

clip_image006

  根据ID的值用ECMAScript脚本去SharePoint日历里读取Category的值,然后根据值来将最外面的Div改变为相应的背景颜色,下面,即使用的js脚本,给大家一个参考。

clip_image008

  优点

  目前测试,完美支持增删改后的异步加载,支持日视图、周视图、月视图的各种切换,支持项目过多折叠的展开和收缩是发生的异步加载;

  缺点

  橘红色为默认的颜色,由于ECMAScript脚本是异步的,所以改变会有一个渐变的效果,如下图,可以看到改变是一个渐变的过程,不过也挺赏心悦目的,呵呵。

clip_image010

  其他声音

  在做这个日历的过程中,也看到一些其他解决方案,重写日历视图就不提了;看到Erucy在SharePoint 2010里面做的,链接附后,但是发现月视图上没有了副标题,所以没办法实现了;还有就是日历重叠功能,链接我也附后了,大家自己参考吧。

  参考文档

  http://www.cnblogs.com/erucy/archive/2010/09/20/2416097.html

  http://www.cnblogs.com/yunliang1028/archive/2012/02/15/2352766.html

目录
相关文章
|
5月前
日历控件input框默认显示当日日期
日历控件input框默认显示当日日期
43 0
|
11月前
|
BI
SAP 报表设置动态ALV标题栏
关于ALV报表多个事务代码下显示不同标题处理
260 0
|
API Windows 容器
MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件(上)
MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件
161 0
MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件(上)
MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件(下)
MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件
138 0
SwiftUI—使用Text视图显示指定的文字
SwiftUI—使用Text视图显示指定的文字
372 0
SwiftUI—使用Text视图显示指定的文字
|
算法 iOS开发
iOS视图滚动的时候控制导航条标题及公告视图的alpha(显示与隐藏)
iOS视图滚动的时候控制导航条标题及公告视图的alpha(显示与隐藏)
217 0
iOS视图滚动的时候控制导航条标题及公告视图的alpha(显示与隐藏)
|
索引
PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容
PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容
1938 0
PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容
|
前端开发 容器 开发工具
[uwp]自定义Behavior之随意拖动
原文:[uwp]自定义Behavior之随意拖动   由于最近有需求,所以自定义了一个随意拖动元素的Behavior.   当然在使用这个自定义的Behavior时,有个小假设:拖动元素必须是Canvas容器的子元素。
803 0