データウィンドウで任意の行が 1 行目に表示されるようにスクロールする

PowerBuilder Tips

方法

ScrollToRow 関数を使用して任意の行を 1 行目に表示する場合、指定した行がすでに現在のページに表示されているとスクロールはされず 1 行目に表示されません。

このような場合でも指定した行が 1 行目に表示されるようにスクロールするには、ScrollToRow 関数を呼び出した後で指定した行が 1 行目であることを確認し、1 行目でない場合は一度ページを切り替えてから再度 ScrollToRow を呼び出します。

【例】

long ll_target_row
long ll_first_row

ll_target_row = 28 // 1 行目に表示したい行

// 指定行にスクロール
dw_1.ScrollToRow(ll_target_row)

// 現在のページの 1 行目の行番号を取得
ll_first_row = Long(dw_1.Object.DataWindow.FirstRowOnPage)

// 表示されているページの 1 行目が指定した行でない場合、
// 一度次のページにスクロールしてから再度設定する
IF ll_first_row <> ll_target_row THEN
    dw_1.ScrollNextPage()
    dw_1.ScrollToRow(ll_target_row)
END IF

ただし、指定した行がスクロール最下部のページの 2 行目以降に存在する場合は 1 行目に表示することはできません。

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

Tips 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?