每个人的博客园子上都有个小日历,挺好的,像在MOSS的Blog模板中加入一个这样的日历,

很简单,

不需要任何代码,用Designer搞搞就可以。

  1. 加入脚本


    function MoveToViewDate(strdate, view_type) {
        var wUrl=window.location.href;//blogs/default.aspx?CalendarDate=2008%2F8%2F22&DashedDate=2008-8-22
        var gUrl ="/blogs/Lists/Posts/Calendar2.aspx";//blogs/Lists/Posts/Calendar.aspx?CalendarPeriod=day&CalendarDate=2008%2F8%2F15
        if (strdate !=null) {
            wUrl=StURLSetVar2(wUrl, "CalendarDate", escapeProperly(strdate));
            gUrl=StURLSetVar2(gUrl, "CalendarDate", escapeProperly(strdate));
            var M=localizedDate.indexOf("2");
            var D=localizedDate.indexOf("3");
            var Y=localizedDate.indexOf("1999");
            var index=0;
            for (var i=0; i < localizedDate.length; i++) {
                switch(i) {
                    case M:
                        M=index++;
                        break;
                    case D:
                        D=index++;
                        break;
                    case Y:
                        Y=index++;
                        break;
                }
            }
            var ch="-1";
            var chars=new Array("\u002f","-");
            for (var i=0; i < chars.length; i++) {
                if (strdate.indexOf(chars[i]) !=-1) {
                    ch=chars[i];
                    break;
                }
            }
            var darray=strdate.split(ch);
            wUrl=StURLSetVar2(wUrl, "DashedDate", darray[Y]+"-"+darray[M]+"-"+darray[D]);
            gUrl=StURLSetVar2(gUrl, "DashedDate", darray[Y]+"-"+darray[M]+"-"+darray[D]);
        }
        view_type = "day";
        if (view_type !=null)
        {
            wUrl=StURLSetVar2(wUrl, "CalendarPeriod", view_type);
            gUrl=StURLSetVar2(gUrl, "CalendarPeriod", view_type);
        }
          window.location=gUrl;
         // window.open(gUrl);
    }
  2. 修改脚本:_layouts/2052/CORE.JS (先备份哦)

    function MoveToViewDate(strdate, view_type)
    {
        var wUrl=window.location.href;
        if (strdate !=null){
            wUrl=StURLSetVar2(wUrl,"CalendarDate",escapeProperly(strdate));}
        if (view_type !=null){
            wUrl=StURLSetVar2(wUrl,"CalendarPeriod",view_type);}
                     var localizedDate ="1999-02-03";
                    var M=localizedDate.indexOf("2");
            var D=localizedDate.indexOf("3");
            var Y=localizedDate.indexOf("1999");
            var index=0;
            for (var i=0; i < localizedDate.length; i++) {
                switch(i) {
                    case M:
                        M=index++;
                        break;
                    case D:
                        D=index++;
                        break;
                    case Y:
                        Y=index++;
                        break;
                }
            }
            var ch="-1";
            var chars=new Array("\u002f","-");
            for (var i=0; i < chars.length; i++) {
                if (strdate.indexOf(chars[i]) !=-1) {
                    ch=chars[i];
                    break;
                }
            }
            var darray=strdate.split(ch);
            wUrl=StURLSetVar2(wUrl, "DashedDate", darray[Y]+"-"+darray[M]+"-"+darray[D]);

    SubmitFormPost(wUrl, true);
    }

  3. 在模板页中任意地方加入日期控件代码

    <div>
      <script type="text/javascript">
            var localizedDate = '1999-02-03'; 
    <script type="text/javascript" language="javascript" src="overrideCalendar.js" defer=""></script> <SharePoint:SPDatePickerControl ID="DPC1" SelectedDate="{$SelectedDate}"  EndOffset="0" StartOffset="0" runat="server" LangId="2052" LocaleId="2052"/>
    </div>
  4. 注意:overrideCalendar.js为第一步创建的脚本,可以放在磁盘或者Designer下。建议丢磁盘。快!
  5. 用Deigner打开日历列表的Calendar.aspx 页,复制一份以得到如下地址: var gUrl ="/blogs/Lists/Posts/Calendar2.aspx",主要实现和园子里的日历功能:按照日期过滤:
  6. 示例
  7. 更高级的用法:加载XML文件

<WebPartPages:DataFormWebPart runat="server" SuppressWebPartChrome="False" Description="" PartImageSmall="" DataSourceID="" MissingAssembly="无法导入此 Web 部件。" FrameType="None" ConnectionID="00000000-0000-0000-0000-000000000000" DetailLink="" ExportControlledProperties="True" IsVisible="True" AllowRemove="True" AllowEdit="True" ID="g_93e2cc52_d577_4396_99d1_7a83c0d3db86" Dir="Default" FrameState="Normal" ViewContentTypeId="" AllowConnect="True" PageSize="-1" AllowMinimize="True" IsIncludedFilter="" ShowWithSampleData="False" ChromeType="None" HelpMode="Modeless" ExportMode="All" ViewFlag="0" Title="会议室日历" HelpLink="" AllowHide="True" AllowZoneChange="True" PartOrder="2" UseSQLDataSourcePaging="True" PartImageLarge="" IsIncluded="True" NoDefaultStyle="TRUE" __MarkupType="vsattributemarkup" __WebPartId="{93E2CC52-D577-4396-99D1-7A83C0D3DB86}" __AllowXSLTEditing="true" WebPart="true" Height="" Width=""><DataSources>
<SharePoint:SPXmlDataSource runat="server" DataFile="" AutoSave="True" XPath="" ID="SPXmlDataSource1"><DataFileParameters><asp:Parameter DefaultValue="empty.xml" Name="FileName"></asp:Parameter><asp:Parameter Name="FilePath"></asp:Parameter>
</DataFileParameters>
</SharePoint:SPXmlDataSource>
</DataSources>
<ParameterBindings>
        <ParameterBinding Name="FileName" Location="None" DefaultValue="empty.xml"/>
        <ParameterBinding Name="FilePath" Location="None" DefaultValue=""/>
        <ParameterBinding Name="SelectedDate" Location="QueryString(CalendarDate)"/>
    </ParameterBindings>
<DataFields>text(),root;</DataFields>
<Xsl>
<xsl:stylesheet version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">
    <xsl:output method="html" indent="no"/>
    <xsl:decimal-format NaN=""/>
    <xsl:param name="FileName" />
    <xsl:param name="SelectedDate" />
    <xsl:variable name="dvt_1_automode">0</xsl:variable>
    <xsl:template match="/">
        <xsl:call-template name="dvt_1"/>
    </xsl:template>
    <xsl:template name="dvt_1">
    <div>
      <script type="text/javascript">
        var localizedDate = &apos;<xsl:value-of select="ddwrt:FormatDate('1999-02-03','2052',1)" />&apos;;
        </script> <script type="text/javascript" language="javascript" src="overrideCalendar.js" defer=""></script> <SharePoint:SPDatePickerControl ID="DPC1" SelectedDate="{$SelectedDate}"  EndOffset="0" StartOffset="0" runat="server" LangId="2052" LocaleId="2052"/></div>
    </xsl:template>
</xsl:stylesheet>    </Xsl>
</WebPartPages:DataFormWebPart>

日历的数据源可以动态指定哦。

转载于:https://www.cnblogs.com/Areas/archive/2011/09/30/2196477.html

MOSS自带SPDatePickerControl控件的使用相关推荐

  1. 百度步行导航加poi搜索android,【百度地图】带地图显示控件、导航控件、POI查找控件...

    标题: [完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 概述: 源代码主要包含三个项目,BMap.NET.BMap.NET.Windows ...

  2. 页面调用Adobe Reader自带的控件实现pdf打印

    1.业务场景 一般的业务场景里,只需要将pdf文件下载到本地,然后打开直接打印就可以了. 但是,有的场景会考虑到pdf文件的敏感性,需要pdf文件不能被下载,只能打印且只能打印一次,这就需要考虑使用控 ...

  3. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件...

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  4. duilib 自带树形控件的认识

    CTreeViewUI 1.该控件继承自CListUI,所以是使用了对应的列表来模拟树形控件.该控件的容器填装的是CTreeNodeUI,而CTreeNodeUI也继承CListContainerEl ...

  5. C#关于自带滚动条控件的滚动条跳动问题

    今天偶尔发现那个panel的垂直滚动条如果不做任何处理,每次获得焦点后位置老是变动.当拖动到某个位置,有另一个窗口挡住后,再显示出来它的滚动条就不在原来的位置了?这个怎么解决呢? 例如,窗口1的pan ...

  6. Android 系统自带时间选择控件

    TimePicker 提示:TimePicker 本身自带两种风格,都可以在xml中设置,一种是 "clock" 一种是"spinner" 代码参考: 1.cl ...

  7. Mvc 自带分页控件PagedList.Mvc Demo示例

    添加/下载PagedList.Mvc 直接搜索mvc pagelist 就会出来.安装完成即可.在项目的packages文件夹下面就会出现PagedList.Mvc.4.5.0.0 和PagedLis ...

  8. VC++ OCX 控件注册

    转自:http://www.cctry.com/thread-5334-1-1.html 方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册 示例: regs ...

  9. .net firamework 框架里面的控件的继承关系。

    记得当初学习VB6.0的时候,入门的书,一上来就是控件的介绍,控件的属性.事件的使用,拖拽一个文本框.一个按钮,然后再双击按钮,在按钮的事件里面给文本框的Text 设置一个"hello wo ...

  10. 文字居中 qt_Qt编写自定义控件11-设备防区按钮控件

    前言 在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,安防领域一般用来表示防区或者设备,可以直接显示防区号,有多种状态颜色指 ...

最新文章

  1. java监听组合按键_js监听组合按键
  2. 238. Product of Array Except Self
  3. KotlinPoet
  4. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
  5. Tower-web 0.3.1/2 发布,类型完善和修复更新
  6. Linux主流架构运维工作简单剖析
  7. C#中JSON和对象之间互相转换功能示例
  8. JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
  9. 2020-12-05
  10. arcgis利用切片服务导出离线地图包(tpk文件)
  11. 解决word2016复制粘贴后一直未响应
  12. 什么是软件EV代码签名证书
  13. ubuntu 安装视频下载器Annie
  14. 多机器人编队人工势场法协同避障算法原理及实现
  15. 【OpenGL基础】|| OpenGL渲染过程介绍
  16. Web GIS多种方式发布动态地图服务及显示(2)
  17. 转行智能控制的这些年
  18. java访问linux中文文件乱码
  19. HTML语言全称叫超文本标记语言,其中的“标记“如何理解,“超文本”又如何理解?
  20. 腾讯企业邮箱 java_使用腾讯企业邮箱调用SpringMail或者JavaMail发送邮件的发送服务器设置...

热门文章

  1. 【ACL2020-CMU-Google】MobileBERT:用于资源受限设备的任务无关“瘦版”BERT
  2. 基于DEAP库的python进化算法--遗传算法实践--配词问题
  3. 组织架构适配下的敏捷开发
  4. 《我也能做CTO之程序员职业规划》之十五:智商
  5. 唯大英雄能真本色——leo推荐程序员小说《敏捷无敌》
  6. 深入灵魂的共鸣 (《梦断代码》读后感)
  7. 图01---图的基本概念与模型
  8. python DataFrame获取行数、列数、索引及第几行第几列的值
  9. python命令行参数解析模块argparse和docopt
  10. Machine Learning - XVIII. Application Example Photo OCR应用实例-照片OCR(Week10)