日历组件增加翻页功能

编辑
  • 文档创建者:星踪
  • 浏览次数:4537次
  • 编辑次数:10次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1. 描述

    帆软商城中的日历组件只能显示当前月的日期,但在实际应用中可能会需要有一个翻页的效果,来实现自由选择日期。


    2. 思路

    设置一个模板参数和相应的日期控件,通过超链点击事件改变控件值并直接查询来实现翻页效果。


    3. 示例

    3.1 下载组件

    在帆软商城里下载深色系日历组件并安装使用。该步详细过程可参考 决策报表组件共享复用。日历组件样式如下:



    3.2 参数界面设计

    新建决策报表,拖入一个参数界面,并在参数面板添加一个查询控件,一个日期控件,控件名修改为 date,格式设置为 yyyy-MM,勾选返回日期,如下图所示:



    3.3 日历样式设计

    将下载的日历组件拖入到决策报表中,B2 单元格修改公式为$dateB3 单元格修改公式为weekday(todate(date(year($date), month($date), 1))),C3 单元格修改公式为daysofmonth($date)

    选中日历主体所有的日期,右击增加条件属性,选择背景为蓝色,公式增加$$$=day(now())month(B2)==month(B1),表示为当日的日期时背景色变为蓝色。


    在 B15、C15、F15、G15 单元格中分别写入上年、上月、下月、下年。

    选中 B15 单元格,右击选择超级链接,弹出 JavaScript 脚本对话框,添加参数 a,更改参数的值类型为公式:format(YEARDELTA(B2,-1),"yyyy-MM"),如下图所示:


    JS 如下:

    _g().parameterEl.getWidgetByName("date").setValue(a); _g().parameterCommit();

    另外 3 个单元格中 JS 代码相同,参数 a 的设置分别为:

    上年:format(YEARDELTA(B2,-1),"yyyy-MM")

    上月:format(MONTHDELTA(B2,-1),"yyyy-MM")

    下月:format(MONTHDELTA(B2,1),"yyyy-MM")

    下年:format(YEARDELTA(B2,1),"yyyy-MM")

    注:移动端暂不支持parameterEl方法,所以移动端该方法无效。

    4. 效果预览

    保存后,点击预览,效果如下:

    在线查看模板效果请点击 calendar.frm

    已完成模板可参考%FR_HOME%\webroot\WEB-INF\reportlets\doc\frm\calendar.frm


    附件列表


    主题: 决策报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]