PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15964 01/08/03 10:58:12 RE(2):PB6.5: 同じ画面の起動方法が複数パターンある場合 By mamu
15961 01/08/03 09:12:55 RE(1):PB6.5: 同じ画面の起動方法が複数パターンある場合 By 川端
15959 01/08/02 15:39:02 PB6.5: 同じ画面の起動方法が複数パターンある場合 By mamu

カテゴリ:PowerBuilderの開発環境
日付:2001年08月03日 09:12 発信者:川端
題名:RE(1):PB6.5: 同じ画面の起動方法が複数パターンある場合

mamuさん、おはようございます。

>アプリケーションを起動した時に常に一覧画面を先に表示して、詳細画面は一覧
>画面を表示した後にしか出さないようにしようと考えていました。
>ところが、詳細画面でデータを新規登録するケースが多いので、必ずしも一覧画面
>から遷移するのではなく、詳細画面のみを先に表示することも必要になりそうなのです。
>このように同じ画面の起動方法が複数のパターンある場合は、どちらの方法で作って
>いったらよいのでしょうか?

>(1)全く同じ詳細画面のウィンドウを2つ作ってPBLをわける。
>   (一覧→詳細のPBLと、詳細のみのPBL)

>(2)1つのPBL内で、ユーザの起動方法(メニュー等で選択させる)によって、フラグ等を使い
>   コードで処理分けする。

詳細画面上の操作方法等が、新規登録でも変更登録でも、ほとんど変わらない場合は
(2)をお勧めします(あくまで私的意見ですが)。

流れで言うと………

・メニューに詳細画面を呼び出すボタンと、一覧画面を呼び出すボタンを用意する。
・メニューから詳細画面を呼び出す際に、OpenWithParm 関数(構文2)でメニューから
 ウィンドウをオープンしている旨をパラメータで渡す。
・一覧画面から詳細画面を呼び出す際に、OpenWithParm 関数(構文2)で一覧画面から
 ウィンドウをオープンしている旨をパラメータで渡す。

と、こんな感じでしょうか?

スクリプトで書くと………
-------------
// メニューの詳細画面を呼び出すボタンの Clicked イベント
window lw_syosai

OpenWithParm( lw_syosai, 0, \"w_syosai\")

-------------
// 一覧表画面のDWの DoubleClicked イベント
long ll_no
window lw_syosai

ll_no = this.GetItemNumber( row, \"登録番号\" )

OpenWithParm( lw_syosai, ll_no, \"w_syosai\")

-------------
// 詳細画面の Open イベント
long ll_no

ll_no = message.DoubleParm

IF ll_no = 0 THEN
// 新規登録処理
ELSE
// 変更登録処理
END IF


と、こんな感じでしょう。

参考になりましたでしょうか?



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.