データウィンドウの削除バッファのデータを取得する

PowerBuilder Tips

方法

データウィンドウの削除バッファのデータは Data.Delete プロパティから取得できます。角カッコ([])を指定することで、削除バッファ内の行番号やカラム番号を指定することができます。またデータ型は取り込み元のカラムと同じなので、例えばデータウィンドウと同じデータレイアウトの構造体などで取得することも可能です。

なお、DeletedCount を使用すると削除バッファのデータ行数が取得できるので、削除バッファにデータが存在するかどうかを確認することができます。

以下はデータウィンドウ(dept_id、dept_name、dept_head_id)と同じデータレイアウトの構造体を用意して、Data.Delete プロパティからデータウィンドウの削除バッファのデータを一括で取得するサンプルです。

【例】

global type str_department from structure
    long        dept_id
    string      dept_name
    long        dept_head_id
end type

[str_department 構造体]

[スクリプト]

long i, j
str_department  lstr_department[]

// 3 行目、1行目を削除
dw_1.DeleteRow(3)
dw_1.DeleteRow(1)

// 削除バッファのデータ行数を取得
j = dw_1.DeletedCount()

IF j <= 0 THEN RETURN

// 削除バッファ内のデータを構造体にセット
lstr_department = dw_1.Object.Data.Delete

FOR i = 1 TO j
    // dept_name を表示
    MessageBox("delete バッファ行" + String(i), lstr_department[i].dept_name)  
NEXT

 

Tips情報

プロダクト :PowerBuilder

バージョン :2019R3

Tips 一覧を見る
PowerBuilder マイグレーション
PowerBuilderとは? ~デキる大人へ変身できる?ローコード開発ツール~