1. 概述
1.1 問題描述
填報報表中,有兩個日期元件,當第一個日期元件選擇完成後,希望第二個日期元件能自動匹配日期,例如:改變前一個元件日期後,後一個元件的日期 +90 天。該如何實現呢?
1.2 解決思路
方案一:在後一個日期元件所在儲存格插入公式。
方案二:給前一個日期元件新增「編輯結束」事件,透過 JavaScript 實現。
2. 範例
2.1 報表設計
建立普通報表,A2、B2 儲存格新增「日期元件」,設計表格樣式如下圖所示:
2.2 方案一:插入公式
選中 B2 儲存格,按右鍵,選擇「儲存格元素>插入公式」,公式為format(DATEDELTA(A2,90),"yyyy-MM-dd")。如下圖所示:
2.3 方案二:編輯結束事件
選中 A2 儲存格,在「元件設定>事件」中新增「編輯結束」事件,輸入 JavaScript 程式碼如下:
var date=new Date(this.getValue());
date.setDate(date.getDate() + 90);
var newdate = FR.contentFormat(date, 'Dyyyy-MM-dd')
_g().setCellValue("B2",null,newdate);
步驟如下圖所示:
2.4 效果預覽
2.4.1 PC 端
儲存報表,點選「填報預覽」,效果同 1.1 節效果一致。
2.4.2 行動端
注:方案二使用 JS 不支援行動端。
方案一 App 端和 HTML5 端均支援,效果如下圖所示:
3. 範本下載
點選下載:日期元件填報時自動匹配.cpt