過去の桐井戸端BBS (桐ver.9)
24085 一覧表形式フォームを表示したときのカーソル位置を最終か終端に持っていき常に明細行を満杯状態にしたい もさく 2003/12/31-18:15
一覧表形式フォームで明細繰り返し数9に指定しています。
又コマンドボタンで行追加を設定しています。

@ フォームを表示したときデータ表示を最終行から9行にし、カーソル位置を最終行又は終端行に設定したい。
A 行追加する前にデータを満杯表示(10行)していても行追加を実行すると
  追加行を含め5行表示(実表示)になります。
  行追加してもいつも満杯表示(10行)するよう設定したい。

  以上の設定方法教えて下さい。よろしくお願いします。
24086 Re:フォームのデータ表示について 悲しげ 2003/12/31-21:57
記事番号24085へのコメント
どもっ、もさくさん
仰ることを実現するには、イベント(kev)を設定する必要があります。
以下、例。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
名札 メイン
 var 長整数{&表示行数,&明細No}



手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
 オブジェクト操作 &表示行数=@フォーム明細部.表示行数
 &明細No=&表示行数-1
 *↑最終行に位置するよりもこの方が経験的に見やすいので
 ジャンプ 行番号=最終
手続き定義終了

手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 ・・・・
 method @フォーム.明細番号設定(&明細No)
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
(注)記述は正しくは半角カナのものがあります。

24087 Re:フォームのデータ表示について 今村 誠 2003/12/31-22:01
記事番号24085へのコメント
もさくさんこんにちは

>2: 行追加する前にデータを満杯表示(10行)していても行追加を実行すると
>  追加行を含め5行表示(実表示)になります。
>  行追加してもいつも満杯表示(10行)するよう設定したい。

行追加のコマンドボタンに以下の手続きを設定
→機能名    機能パラメータリスト
1 表示    確定する
2 手続き実行 明細設定
3 行追加   "tなんとか"


proc 明細設定()
* 明細設定はファーム開始では動作しない桐9のマニュアルで追加記載
* フォームを開くときに使用したいときはコマンドボタンを作成後
* 開始時実行ボタンに指定すると使用できる
  cond (#総件数<1) return
  method @フォーム.描画禁止( 1 )
  cond (#EOF=1) ジャンプ 行番号=前行
  var Long{&Nowline,&Allline}
  method @フォーム.明細番号取得(&Nowline)
  object &Allline =@フォーム明細部.表示行数
  cond (#総件数<&Allline) return
  &Nowline=#cond(#行番号>=(&Allline-1),&Allline-1,\
         #行番号<(&Allline-1),&Nowline)
  method @フォーム.明細番号設定(&Nowline)
  method @フォーム.描画禁止( 0 )
end

1:は機能の3の行追加をしないとうまくいくと思います。
24088 補足訂正 悲しげ 2003/12/31-23:22
記事番号24086へのコメント
補足訂正。(^^;)
試してみたら、フォーム再定義から編集に入った時は問題ないのですが、
それ以外の場合、フォーム開始でジャンプさせてもうまく行かなかったのでしたね。(^^;)
では、代替策として、ワークスペース(フォームの枠外)にコマンドボタンをひとつ設けます。
その名を仮称「b開始時」として

 機能名  同パラメタリスト
 ジャンプ 最終

とします。
で、フォームの属性/オプションタブ左下の実行コマンド/開始時に
この「b開始時」を入れておきます。
その上で、kevの記述をちょっと書き換えます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
名札 メイン
 変数宣言 固有,長整数{&明細No}



手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
 変数宣言 自動,長整数{&表示行数}
 オブジェクト操作 &表示行数=@フォーム明細部.表示行数
 &明細No=&表示行数-1
 *↑最終行よりもこの方が経験的に見やすいので
手続き定義終了

手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 ・・・・
 メソッド呼び出し @フォーム.明細番号設定(&明細No)
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
(注)記述は正しくは半角カナのものがあります。

ps.
「レコード移動」イベントは、フォーム開始直後にも発生しています。

ps2.
今年も残すところ30分を切りました。(^^;)
24162 Re:補足訂正 もさく 2004/01/05-15:27
記事番号24088へのコメント
悲しげさん

>補足訂正。(^^;)
>試してみたら、フォーム再定義から編集に入った時は問題ないのですが、
>それ以外の場合、フォーム開始でジャンプさせてもうまく行かなかった
>のでしたね。(^^;)
>では、代替策として、ワークスペース(フォームの枠外)にコマンドボ
>タンをひとつ設けます。その名を仮称「b開始時」として
>
> 機能名  同パラメタリスト
> ジャンプ 最終
>
>とします。
>で、フォームの属性/オプションタブ左下の実行コマンド/開始時に
>この「b開始時」を入れておきます。
>その上で、kevの記述をちょっと書き換えます。
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

書いて頂いたとおり実行してみましたが最初の表示は5行表示となります。
空白4行に書き足してゆき表示行が満杯(10行)になったところでコマンドボタン追加を押すと
4行繰り上がり5行分データ表示した次が追加行となりました。
フォームを開いたときと同じような表示状態となりました。
最初データ行を9行表示し10行目に1行書き足した時点で追加ボタンを押すことにより
1行繰り上がり10行目に書込可能となるように繰り返すことはできないものでしょうか。

今回教えて頂いたことを実行した私の書式など手続きに何か間違った点があるか、
なにか考えられることは御座いませんでしょうか。よろしくお願い致します。

24164 Re:補足訂正 悲しげ 2004/01/05-15:42
記事番号24162へのコメント
言葉のやりとりだと隔靴掻痒的ですから
見られても支障ないようなデータに再構成した上で、LZHに圧縮して
↓に挙げられてはいかがでしょう?
http://www.fuku3.com/~habata/cgi-bin/bbs1/clip.cgi

24216 Re:フォームのデータ表示について もさく 2004/01/09-10:48
記事番号24085へのコメント
期待どおり完成しました。有難うございました。 

戻る