SharePoint 2013 日歷根據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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM