データウィンドウ上で現在フォーカスのあるカラム名やカラム番号を取得する

PowerBuilder Tips

方法

データウィンドウ上にフォーカスのあるカラム名やカラム番号の情報を取得するには GetColumnName メソッド、GetColumn メソッドをそれぞれ利用します。

また、引数に DWObject を持つイベントでは、イベントが発生したカラムについて、dwo.name プロパティでカラム名、dwo.id プロパティでカラム番号を取得することができます。

【例】Enter押下時にカラムの入力内容をチェックし、問題がない場合はフォーカスを移動する

[データウィンドウに追加した “イベントID: pbm_dwnprocessenter” のイベント]

if this.AcceptText() < 0 then return 1
// 現行のカラム名を取得し、カラムごとのエラーチェックを行う
Choose Case this.GetColumnName()
 Case "col_a"
  // 0 未満の場合はエラーメッセージを表示
  if this.GetItemNumber(this.GetRow(),"col_a") < 0 then
     MessageBox("Err","ErrValue")
     return 1
  end if
 Case "col_b"
  ...
End Choose
// Tab キーを入力
Send(Handle(this),256,9,0)
return 1

Special thanks to @Ramiltass さん (※原文にコメント追記をさせていただいています)

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

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