CLOSE
PowerBuilder Tips

方法

Clicked イベント、DragWithin イベントを利用することで、単一データウィンドウ内においてドラッグ&ドロップにより行を移動させることが可能です。
以下の方法では、移動させたい行をドラッグしている間もリアルタイムで行が移動するので、視覚的にわかりやすい操作が可能になります。

【例】クリックした行をドラッグ&ドロップにより移動する場合

[Instance Variables]

long il_row

[clicked イベント](データウィンドウ)

IF row > 0 THEN
	// クリックされた行を選択
	this.SelectRow(0, false)
	this.SelectRow(row, true)
	
	// 移動元の行番号を保持
	il_row = row
	
	Drag(Begin!)
END IF

[dragwithin イベント](データウィンドウ)

long ll_target_row

IF row <> 0 AND il_row <> row THEN
	
	//ドラッグして行を移動
	IF row > il_row THEN
		// 下に移動する場合
		ll_target_row = row + 1
	ELSE
		// 上に移動する場合
		ll_target_row = row
	END IF
	// 行を移動
	this.RowsMove(il_row, il_row, Primary!, this, ll_target_row, Primary!)
	
	// 移動後の行番号を保持
	il_row = row
	
	this.SelectRow(row, true)
	
END IF

さらに、ドラッグ時のアイコンを変更することで、操作時の見た目がよりわかりやすくなるので、ぜひお試しください。
ウィンドウに配置したデータウィンドウコントロールのプロパティ [ その他 ] タブの「ドラッグ アイコン」から設定が可能です。

 

Tips情報

プロダクト :PowerBuilder

バージョン :2022R3

x instagram facebook youtube