テーブルの最後の行に移動するスクリプトこんにちは、みんな、
開いたときにユーザーをテーブルの最後の行(または特定の行)に移動させるJSLスクリプトを設定しようとしています。 On Open スクリプト プロパティと Go To Row() メッセージを使用して、スタンドアロン テーブルで機能するようにしました。 ただし、テーブルがスクリプトから手続き的に生成される場合 (つまり、カスタム フォーマット スクリプトを使用したスタンドアロン SQL クエリから)、これは機能しないことがわかりました。
Go To Row() と Select Rows() の両方を Next/Previous Selected と組み合わせて試してみましたが、どちらも期待した効果はありませんでした。 ターゲットの行が選択されますが、テーブルはスクロールして選択された行を表示しません。 デバッガ ログにはエラーが表示されないため、この行は正常に実行されていると思われます。
JMP13でテーブルメッセージを実行するための別のトリックはありますか?
Re: テーブルの最後の行に移動するスクリプトいいえ、JMP はコードを同期的に実行しません。 各関数ができるだけ早く開始されるため、後の関数が呼び出されたときに前の関数の結果が利用できない状況が発生する可能性があり、それはそれらの結果に依存する可能性があります。
Wait( 0 ) により、JMP は Wait() の後の次の関数を呼び出す前に「追いつく」ようになります。
Re: テーブルの最後の行に移動するスクリプト場合によっては、JMP は次のコマンドに進む前にコマンドを終了する必要があるため、wait ステートメントを追加すると前のコマンドを終了できるようになります。
Re: テーブルの最後の行に移動するスクリプトありがとう、うまくいきましたが、なぜそうなったのか混乱しています。
スクリプト時間に関しては、スクリプト全体が完全に実行されるまでに約 4 ~ 6 秒かかります。 Go To Row コマンドはスクリプトの最後にあり、最初にテーブルが生成され、その間に複数のテーブル メッセージが正常に実行されました。 JMP が次の行/メッセージに進む前に各行/メッセージを終了するかどうか知っていますか? もしそうなら、wait コマンドがなぜ何もしなかったのかわかりません。 それともJSLの単なる癖なのでしょうか?
Re: テーブルの最後の行に移動するスクリプトwait ステートメントを追加してみてください。 例えば:
dt=Open("mypath\table.jmp");
待機(0);
dt<<行に移動(nrow(dt));