カラムに入力された値を整形して設定しなおす

PowerBuilder Tips

方法

たとえば、日付を扱う文字列のカラムに “yyyymmdd” という形式で入力された際に、”yyyy/mm/dd” という形式に整形するといったように、入力値を加工して値を再設定する場合は ItemError イベントを利用します。

入力されたデータはイベントの引数 data に渡されるので、その値を取得して加工後に SetItem 関数で設定しなおします。

【例】”yyyymmdd” という形式で入力された日付を “yyyy/mm/dd” 形式に加工してセットする

[ItemError イベント]

string ls_item

IF dwo.name = "name" THEN
    ls_item = Mid(data, 1, 4) + "/" + Mid(data, 5, 2) + "/" + Mid(data, 7, 2)
    IF IsDate(ls_item) THEN
        this.SetItem( row, dwo.name, ls_item)
        RETURN 2
    END IF
END IF

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

Tips 一覧を見る
PowerBuilder マイグレーション