Crystal Reports日历:周末及节假日边框变色问题排查
Crystal Reports周末边框标记问题排查与解决
你的思路方向是对的,但核心问题出在用错了日期对象——你用CurrentDate判断的是报表生成当天的日期,不是日历里每个单元格对应的具体日期,所以所有单元格都会基于同一天的星期数来判断,自然没法正确标记所有周末。
修正方法很简单:
- 找到你日历中对应每个单元格的日期字段(比如数据库里的
{AbsenceCalendar.Date},或者你生成日历用的日期公式) - 把公式里的
CurrentDate替换成这个日期对象,修正后的公式如下:
IF DayOfWeek({AbsenceCalendar.Date}) = 1 OR DayOfWeek({AbsenceCalendar.Date}) = 7 THEN crRed ELSE crNoColor
- 确认公式绑定的是单元格的边框颜色属性:右键目标单元格→格式化对象→切换到「边框」选项卡→选中要变色的边框(比如全部边框)→点击颜色输入框旁边的公式按钮,粘贴修正后的公式
额外提醒:Crystal Reports里DayOfWeek函数返回1代表周日,7代表周六,你的判断逻辑本身是没问题的,只要替换对日期对象就能生效。
内容的提问来源于stack exchange,提问作者Miguel
相关产品推荐
相关产品推荐

