複数のカラムを持つデータウィンドウで特定のカラムデータのみを出力する

PowerBuilder Tips

方法

カラムが複数設定されたデータウィンドウのデータを SaveAs メソッドを使用してファイル出力する際、特定カラムのデータのみを出力するために GetItem、Setitem を使用して別のデータウィンドウへデータをコピーすると大幅に時間がかかります。このような場合は Data プロパティを参照することで、効率よく値を取得/設定することができます。

データウィンドウオブジェクトの Data プロパティは範囲を指定することができ、この Data プロパティが所持している行とカラムのブロックに直接アクセスすることでコピー先のデータウィンドウに時間をかけることなく値を代入できます。

次の構文を使用してデータ値を取得および設定できます。

dwcontrol.Object.Data {.buffer } {.datasource } [ startrownum, startcolnum, endrownum, endcolnum ]

パラメーター説明
startrownum目的の範囲内にある行の最初の行の番号
startcolnum範囲内の最初のカラムの番号
endrownum範囲内の最後の行の番号
endcolnum範囲内の最後のカラムの番号

 

【例】

// String(10) の AAA、BBB、CCC カラムを含むデータウィンドウ (dw_1) から String(10) の DDD、EEE カラムを含むデータウィンドウ (dw_2) に AAA、BBB カラムをコピーして出力する
int r
r = dw_1.RowCount()
dw_2.object.data[1, 1, r, 2] = dw_1.object.data[1, 1, r, 2] 

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

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