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

??

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

  效果,如下图:

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

原理

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

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

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

  优点

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

  缺点

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

其他声音

  在做这个日历的过程中,也看到一些其他解决方案,重写日历视图就不提了;看到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

时间: 2024-10-10 17:16:42

SharePoint 2013 日历根据Category显示不同颜色的相关文章

SharePoint 2013 日历视图兼容性问题

在IE11上访问SharePoint 2013 calendar视图,发现加入兼容性视图以后访问,正常,如下图: 不加入兼容性视图IE11访问,出现兼容性问题,如下图: 因为有些环境有问题,有些环境没有问题,对比了一下,发现打补丁kb3054792,打完补丁,重启即可: 补丁地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=47055 特别的,在解决这个问题之前的疯狂谷歌过程中,发现也有类似情况,要么加入兼容性视图,要么开启浏览

SharePoint 2013/2010 中的日历重合 (Calendars Overlay)

日历重合 (Calendars Overlay)的用途就是将 不多于10个日历或日历视图聚集在一个 日历视图中显示,并且可以用不同颜色区分来自不同 日历或日历视图的事件. 1.首先创建一个List View,名称为“ColorCalendar”,Filter中设置根据“Category”值为空过滤数据:此ListView设置为默认视图,作为重合(Overlay)视图的主视图. 2.创建根据Category Column对应的下拉值的List View,例如创建名称为“Meeting”的List

sharepoint 2013 设置 显示详细错误信息

1. 在当前网站端口目录下的Web.config修改 例如80端口的站点路径为:C:\inetpub\wwwroot\wss\VirtualDirectories\80 (1)将<customErrors mode="On" /> 修改成 <customErrors mode="Off" /> (2)将<SafeMode MaxControls="200" CallStack="false"  修

笑男手札:SharePoint 2013到底显示什么语言(多语言设置)

SharePoint 2013可以安装多语言包,不过在客户端显示的是何种语言,其实是一个挺耐人回味的问题. SharePoint 2013显示的语言,由安装的语言包.网站的语言设置以及客户端IE的语言设置共同生效.(多么的让人崩溃) 测试结果: 浏览器 SharePoint 页面语言 安装语言 可替换 EN CN / CN CN EN / EN EN EN CN EN CN EN CN CN EN CN EN EN CN CN EN CN 可以参考上面表格:例如, 浏览器设置为英语,ShareP

SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片

在"SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片"文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰度都不是非常理想.本文将介绍如何同步Exchange Server显示高清用户照片. 原理 与SharePoint Server 2010相似, 在SharePoint Server 2013中存在一个用户照片的目录.当SharePoint启用Exchange照片同步时, SharePoi

SharePoint 2013 关于自定义显示列表表单的bug

1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹下的文档,查看属性会报错,如下图: 3.报错如下图,没有项目: 4.不在文件夹下的项目,就没有这样的问题,怀疑是获取CurrentItem出问题了,但是没想到怎么去改xslt,如下图: 5.百度谷歌查找解决方案,最后找到定义列表模板,参考jianyi的博客,如下图: 6.然后发现处在文件夹下的ID为

SharePoint 2013 中如何使用日历中资源的功能

SharePoint 2013 中取消了日历资源的功能.据说是由于这个功能用的人太少的缘故.我也不知道为什么要用它.但是上网查询了好些资料.功夫不负有心人找到了解决方案.记录于此 1.原来菜单中并没有"资源项" 2.到SharePoint 2013 的服务器上直接 原文: Go to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\1033\XML, open WEBTEM

Jquery(Ajax) 调用 SharePoint 2013 Search Rest API 并使用Josn反回结果并简单显示

Jquery(Ajax) 调用 SharePoint 2013 Search Rest API 并使用Josn反回结果并简单显示 2013年01月05日 21:51:43 天涯海角 阅读数 4970 文章标签: Josn反回结果并简单显示JqueryAjaxPostQuerySearch Rest APISharePoint 2013 更多 分类专栏: SharePoint JavaScript 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明.

在SharePoint 2013中显示“以其他用户身份登录”

在我新建了SharePoint 2013的网站后, 发现界面与2010有一些不同,比如缺少了"以其他用户身份登录",这给我的测试带来很大不便. 在找了一些国外网站后,终于找到了解决方法 第一步:找到welcome.ascx文件,在"C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES" 第二步:添加以下代码到welcome.a