PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
14991 | 01/04/09 17:54:42 | RE(1):PB6.5: 最終行・最終カラムからEnter(Tab) By WarRock |
14990 | 01/04/09 17:52:44 | PB6.5: 最終行・最終カラムからEnter(Tab) By WarRock |
カテゴリ:スクリプトの記述
日付:2001年04月09日 17:52 発信者:WarRock
題名:PB6.5: 最終行・最終カラムからEnter(Tab)
皆さん初めまして。WarRockと申します。
現在私はヘッダ情報入力するためのDWと明細行を入力するためのDWを別個に持った、伝票形式の入力画面を作ろ
うとしているのですが、行き詰まってしまっています。
上のうち明細行を入力するDWの方で、最終行・最後のカラムでEnter(Tab)が押されたとき、ヘッダ情報入力用の
DWにフォーカスを移さず、明細用DWの一番下にもう一行新規の行を追加――つまり、Enter(Tab)だけで明細行をひ
たすら連続して入力できるようにしたいのです。
最終行・最後のカラムから次に行くと、losefocusイベントが発生するので、そこに記述すればいいのではないかとい
う見当は付いたのですが、そこで詰まってしまいました。
現在作っているwindowでは、イベントIDをpbm_dwnkeyとしたユーザイベントを定義し(元々はEnterでTabの動作
をさせるのと、ファンクションキーに固有のイベントを割り当てるために作ったユーザイベントです)、直前に押され
たキーをインスタンス変数i_key(データ型はkeycode)に保持させています。
そこで、明細用DWのlosefocusイベントに
if (this.GetRow() = this.RowCount()) and &
(i_key = KeyTab! or i_key = KeyEnter!) then
l_row = this.InsertRow(0)
this.ScrollToRow(l_row)
this.SetFocus()
this.SetColumn(1)
end if
と書いてみました。(長いので続きます)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Microsoft SQL Server Client 6.5
Browser InternetExplorer5.X
Server SoftWare
OS Windows NT 4.0
DBMS Microsoft SQL Server 6.5
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.