みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
OnPanelSwitchトリガで実行されたスクリプトが終了した後の動作に少し疑問がありましたのでご質問させてください。
OS [Windows 10]
FMバージョン [ 19 ]
テーブル名 [名簿]
レイアウト形式 [リスト]
動作内容ですが、タブをボタン代わりに上部ナビゲーションパートに設置(タブのコンテンツ領域はサイズ調整して使用しておりません)し、各タブパネルに「あ」~「ん」までの五十音の名前を付けます。
OnPanelSwitchに対して、トリガターゲットになっているパネルの五十音で名簿テーブルを検索する下記のスクリプトを割り当てました。
--------------------------------
エラー処理 [オン]
検索モードに切り替え
フィールド設定 [ 名簿テーブル::ふりがな; GetValue( Get(トリガターゲットパネル); 2 ) & "*" ]
検索実行
レコードのソート
レコードへ移動 [最初の]
--------------------------------
するとパネルが切り変わる前と後でレコード番号を維持しようとしてしまうのか、[最初のレコードへ移動]ステップを挟んでいるにも関わらず、最終的にはトリガ発動前のレコード番号へ移動してしまいます。
デバッガで確認したところ、スクリプト終了時点では確かに最初のレコードに移動しているのですが、これは仕様なのでしょうか?
大きな問題があるわけではないのですが、なんだかモヤモヤするのでよろしくお願いいたします。
Offline
スクリプトの最後で、原罪のスクリプト終了[0] を追加すればいいかも。
Offline
>Shinさん
さっそくありがとうございます。
そちらの方法は一度試してみたのですが、パネルスイッチ自体がなかったことにされてしまうためデフォルトタブからアクティブタブが変わらず、見た目と表示結果がちぐはぐになり断念しました。
Offline
OnPanelSwitch
はイベントが処理される前に実行されますから、それが仕様です。
レコード移動
タブパネル移動(ステップはオブジェクト移動ですね)
現在のスクリプト終了[0]
とすればいいのでは。
Offline
無理にパネルを使わないでボタンバーにしたら簡単かと思ったけど、ボタンバーのボタンを複製する方法がないんですね?
複製してもコピペしてもボタンでなくボタンバーに効いてしまう...
スクリプトはボタン間で共有できても設定自体を個別にしかできないみたいでボタン数が多いと手間...
みなさまありがとうございます。
>チポさん
先にオブジェクトを移動しておくという考えにいたりませんでした。
ご提示いただいた案で希望する見た目で終わらせることができました!
>himadaneeさん
おっしゃる通り最初はボタンバーで作成していたのですが、各ボタンにスクリプトを設定して引数等の設定を変えるのが大変だと気づき今の状態になった次第です。
Offline
コピーして、クリップボードのxmlをいじる、という裏技はありますが。
Offline
>Shinさん
BaseElementsを利用していますので少し触ってみましたが、クリップボードってこんな形で記憶されてるんですね。
今後の効率化に役立ちそうな情報をありがとうございます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 556.05 KiB (Peak: 579.7 KiB) ]