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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.