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 (記載なし)

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