任何人都知道如何让日历视图默认展开全部?看到了很多关于如何与SP 2007年而不是2010年SP日历默认全部展开
日历默认全部展开
回答
不是最好的方法做到这一点,但它的工作原理,添加页面下面的脚本在CEWP或内联:
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("myFuncafterLoad");
function myFuncafterLoad(){var OldCalendarNotify4a = SP.UI.ApplicationPages.CalendarNotify.$4a;SP.UI.ApplicationPages.CalendarNotify.$4a = function(){myFunctoExpandCalendar();OldCalendarNotify4a();}}
function myFunctoExpandCalendar(){try{var aTags=document.getElementsByTagName('A');for(i=0;i<aTags.length;i++){try{if(aTags[i].evtid=="expand_collapse"){aTags[i].click();break;}}catch(err){ alert('Bad Call at' + aTags[i].href);}}}catch(err){alert(err.message);}}</script>
什么它确实是在日历加载后搜索第一个展开链接并模拟点击。
我不得不使用传统的Javascript,因为我不能使用JQuery触发点击,因为点击方法不是使用JQuery添加的。
让我知道,如果somefine找到更好的解决方案。
这个脚本是不完美的。只有一行日历展开...我还没有找到其他解决方案。 – scrat789 2011-04-29 07:48:12
Kuldeep,感谢这个剧本!我稍微修改了它,通过删除中断并检查锚文本是否为“折叠”来展开日历的所有行。如果不是“崩溃”,则执行点击。请注意,您只需点击每行一个项目。否则,您可能会切换回折叠状态。
将CEWP添加到日历页面的另一个有问题的副作用是您失去了更改视图下拉菜单。您必须使用日历功能区来更改视图。
我也想找到一个更强大的解决方案,但这里是我的性能稍微改进方案:
这一个<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("myFuncAfterLoad");
function myFuncAfterLoad() {
var oldCalendarNotify4a = SP.UI.ApplicationPages.CalendarNotify.$4a;
SP.UI.ApplicationPages.CalendarNotify.$4a = function() {
oldCalendarNotify4a();
myFuncToExpandCalendar();
}
}
function myFuncToExpandCalendar() {
try {
var aTags = document.getElementsByTagName('A');
for (i = 0; i < aTags.length; i++) {
if ((aTags[i].evtid == "expand_collapse") && (aTags[i].innerText != "collapse")) {
(aTags[i]).click();
}
}
}
catch (err) {
alert(err.message);
}
}
</script>
两个选项。在CEWP中粘贴以下一个或另一个:
第一个将覆盖用于在显示展开/折叠链接之前确定要显示多少项目的功能。我在下面的例子中将其设置为100,以确保在我的用例中,我甚至从来没有看到展开/折叠按钮,并且始终都会呈现每个项目。
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push('WaitForCalendarToLoad');
function WaitForCalendarToLoad()
{
SP.UI.ApplicationPages.SummaryItemRenderer.prototype.$2u = function()
{
ULSvSp: ;
if (!this.$1A_1) this.$1A_1 = 100;
return this.$1A_1
}
}
</script>
第二个选项将覆盖日历通知事件,让所有的物品都渲染后,该脚本将找到的第一个日历实例,并调用它的展开所有功能。这将确保每个单元格默认展开,但仍会显示折叠链接。
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push('WaitForCalendarToLoad');
function WaitForCalendarToLoad()
{
var old$4a = SP.UI.ApplicationPages.CalendarNotify.$4a;
SP.UI.ApplicationPages.CalendarNotify.$4a = function()
{
old$4a();
ctrl = SP.UI.ApplicationPages.CalendarInstanceRepository.firstInstance();
if (ctrl) {
ctrl.expandAll();
}
}
}
</script>
谢谢,安迪。这两种解决方案都很好。我只是想我会提到在$ SP1中$ 4a变成了$ 4b。 – 2012-02-28 14:37:04
感谢你指出兰迪,我没有意识到这一点,我相信它很快就会咬我。 – 2012-03-02 11:03:47
function expandCalendar()
{
var calendar = SP.UI.ApplicationPages.CalendarInstanceRepository.firstInstance();
if (calendar && typeof calendar.expandAll === 'function') {
calendar.expandAll();
}
- 1. 展开全部关于默认RadGridView WPF
- 2. jQuery全日历默认视图设置
- 3. 访问默认日历ID
- 4. 默认展开Drupal菜单
- 5. 展开默认(dita)属性
- 6. Apache POI - 全部展开/全部折叠
- 7. LG默认日历和Google日历之间的区别
- 8. 在默认的安卓日历中创建日历事件
- 9. 更改CultureAndRegionInfoBuilder的默认日历
- 10. Google Calendar API V3 - 默认或主日历
- 11. 检索Android中的默认日历ID
- 12. WordPress的默认日历更改
- 13. jQuery accordion全部展开
- 14. 折叠并展开全部
- 15. 谷歌日历全日历
- 16. ExpandableListView组视图展开默认设置
- 17. 展望开始时间到Java日历?
- 18. 在日历扩展程序中选择特定月份作为默认月份
- 19. SharePoint 2013日历中默认包含假日吗?
- 20. 基于默认日历的日期选择
- 21. 默认日期
- 22. 在android的我的自定义日历中获取默认日历的事件?
- 23. 如何识别哪个日历是我在iCloud.com的默认日历
- 24. 关于Struts默认扩展和json默认扩展
- 25. 全日历宽度
- 26. Jquery手风琴展开全部收起全部
- 27. Zend Studio for Eclispse全部展开功能
- 28. jQuery treeView插件崩溃/展开全部
- 29. wpf datagrid展开全部不工作
- 30. Bootstrap崩溃力全部展开
我还没有找到我的问题的任何解决方案... – scrat789 2010-09-06 08:00:03