実在しない日付をカラムに入力した場合に初期化されない
2019/12/02
PowerServer において、カラムの様式の種類を “エディットマスク”、書式を “yyyy/mm/dd” などに設定した状態で月や年月のみを入力してフォーカスを移動しても、入力した内容がそのまま保持される不具合が確認されています。
Bug ID | 3522 | ||||||
---|---|---|---|---|---|---|---|
Product | PowerServer EN/JP | ||||||
ステータス | Appeonにて検証中 | ||||||
発生バージョン | EN | 2016 | 2017 | 2019 | |||
JP | 2016 | 2017 | 2019 |
※ :発生バージョン :解決済み、未発生 :未確認
詳細
データウィンドウに配置したカラムの「様式の種類」を “エディットマスク”、「書式」を “yyyy/mm/dd” などのように「年」の部分を “yyyy” と 4 桁表記に設定したカラムに対し、「年」は “0000” のままで「月」や「日」を入力してフォーカス移動すると、PowerBuilder では「月」、「日」が初期化されますが、PowerServer では初期化されず入力されたままとなります。
例えば「書式」を “yyyy/mm/dd” と設定したカラムに “0000/09/30” と入力しフォーカスを移動すると、PowerBuilder では “0000/00/00” に初期化されますが、PowerServer では “0000/09/30” となります。
また、同じ書式で “0000/01/00” と入力しフォーカスを移動すると、PowerBuilder では “0000/00/00” に初期化されますが、PowerServer では “0000/01/01” となります。
回避策
本不具合に関する回避策は以下となります。
- itemchanged イベントで “yyyy” が “0000” の場合は、月日の値を初期化する処理を追加してください。