複数のカラムを持つデータウィンドウで特定のカラムデータのみを出力する
2020/10/26
方法
カラムが複数設定されたデータウィンドウのデータを 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