反馈已提交

网络繁忙

日历表

  • 文档创建者:axing
  • 历史版本:13
  • 最近更新:Fairy.Zhang 于 2024-08-09
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变动
    11.0-

    1.2 应用场景

    实现每个月的日历,并可以通过点击按钮切换上下月。如下图所示:

    日历.gif

    1.3 实现思路

    1)设置模板参数。

    2)设计表格, A1 单元格的左父格设置为 A2 , A2 单元格插入公式,横向扩展, A3 单元格插入公式,纵向扩展。

    3)A1 单元格设置三个条件属性,一个条件属性显示月份,另外两个条件属性实现点击后跳转到上月或下月。

    4)A2 单元格设置自定义数据字典形态,显示星期几。

    5)A3 单元格设置公式形态,显示日,设置两个条件属性,使星期六、星期日的日期显示为红色,非当月的日期显示为灰色。

    2. 示例

    2.1 新建报表

    点击菜单栏「文件>新建普通报表」。如下图所示:

    新建普通报表.png

    2.2 设置模板参数

    点击菜单栏「模板>模板参数」,设置参数名为 rq ,默认值为公式:today(),即参数的默认值为当前日期。如下图所示:

    设置模板参数.png

    2.3 设计表格

    1)选中 A1 单元格,设置 A1 的左父格为 A2 。如下图所示:

    设置A1左父格.png

    2)选中 A2 单元格,插入公式:[1,2,3,4,5,6,0] 。如下图所示:

    注:有些系统使用 dateinweek() 函数获取到的第一天是周日的日期。此时只需把 A2 单元格的公式改为[0,1,2,3,4,5,6]。

    A2单元格插入公式.png

    3)选中 A3 单元格,插入公式:GREPARRAY(range(dateinweek(dateinmonth($rq, 1), 1), dateinweek(dateinmonth($rq, -1), -1)), weekday(item) = A2)

    公式说明如下表所示:

    公式
    说明
    dateinmonth($rq, 1)返回当月第一天
    dateinmonth($rq, -1)返回当月最后一天
    dateinweek(dateinmonth($rq, 1), 1)返回当月第一天所在周的第一天
    dateinweek(dateinmonth($rq, -1), -1)返回当月最后一天所在周的最后一天
    range(dateinweek(dateinmonth($rq, 1), 1), dateinweek(dateinmonth($rq, -1), -1))返回当月第一天所在周的第一天和当月最后一天所在周的最后一天之间的日期
    GREPARRAY(range(dateinweek(dateinmonth($rq, 1), 1), dateinweek(dateinmonth($rq, -1), -1)), weekday(item) = A2)过滤出符合星期几的日期
    如下图所示:

    A3单元格插入公式.png

    4)选中 A2 单元格,设置扩展方向为「横向扩展」。如下图所示:

    设置A2单元格横向扩展.png

    5)选中 A3 单元格,设置扩展方向为「纵向扩展」。如下图所示:

    设置A3单元格纵向扩展.png

    2.4 A1单元格添加条件属性

    1)选中 A1 单元格,添加条件属性1。A2=4 时,新值为公式:left($rq,7),即返回参数rq的前8个字符,即在星期四的上方显示月份。如下图所示:

    A1单元格添加条件属性1.png

    2)选中 A1 单元格,添加条件属性2。当 A2=1 时,新值为字符串:<,超级链接类型为动态参数,参数名为:rq,值为公式:monthdelta($rq,-1),即在星期一的上方显示「<」,点击后可跳转到上月。如下图所示:

    A1添加条件属性2.png

    3)选中 A1 单元格,添加条件属性3。当 A2=0 时,新值为字符串:>,超级链接类型为动态参数,参数名为:rq,值为公式:monthdelta($rq,1),即在星期日的上方显示「>」,点击后可跳转到下月。如下图所示:

    A1单元格添加条件属性3.png

    2.5 A2 单元格设置形态

    选中 A2 单元格,设置形态为「数据字典」,类型设置为「自定义」,即显示具体的星期几,如下图所示:

    A2单元格设置形态.png

    2.6 A3单元格设置形态、添加条件属性

    1)选中 A3 单元格,设置形态为「公式形态」,公式为:day($$$),即返回当前日期的日,如下图所示:

    设置A3单元格形态.png

    2)选中 A3 单元格,添加条件属性1。当 A2 = 0 || A2 = 6 时,当前格子字体颜色为红色,|| 表示 或 ,即周六或周日的日期字体颜色为红色,如下图所示:

    A3单元格添加条件属性1.png

    3)选中 A3 单元格,添加条件属性2。当 month($$$) <> month($rq) 时,当前格子字体颜色为灰色,<>表示 不等于 ,即非当月的日期字体颜色为灰色,如下图所示:

    A3单元格添加条件属性2.png

    2.7 效果预览

    2.7.1 PC端

    保存报表,点击「分页预览」,效果如下图所示:

    日历.gif

    2.7.2 移动端

    App 与 HTML5 端效果相同,如下图所示:

    79a711c3f513d9159aa8398005b8c417.gif

    3. 下载模板

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\动态日历表.cpt

    点击下载已完成模板:动态日历表.cpt

    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持