データウィンドウに配置したチェックボックスのカラムが常に1行のみオンとなるように制御する

PowerBuilder Tips

方法

データウィンドウのチェックボックスカラムが常に 1 行のみがオンになるように制御するには、チェックボックスへの入力時に、その時点でチェックされている全ての行をオフにします。

以下の例ではデータウィンドウの ItemChanged イベントで、チェックボックスのカラム (check) がチェックされた時に、他にチェックされている行があればチェックを外す処理を行っています。

long ll_find, ll_count

// チェックボックスを ON (1) にした場合
IF dwo.name = "check" and data = "1" THEN
    ll_count = this.RowCount()

    // チェックされている行を探す
    ll_find = this.Find("check=1", 1, ll_count)

    DO WHILE ll_find > 0
        // チェックを外す
        this.SetItem(ll_find, "check", 0)
        // 次にチェックされている行を探す
        ll_find = this.Find("check=1", ll_find + 1, ll_count)
    LOOP
END IF

 

Tips情報

プロダクト :PowerBuilder

バージョン :2019R3

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