編寫腳本以轉到表中的最後一行大家好,
我正在嘗試設置一個 JSL 腳本,該腳本將在打開時將用戶帶到表中的最後一行(或任何特定行)。 我通過使用 On Open 腳本屬性和 Go To Row() 消息使其適用於獨立表。 然而,我發現,當表是從腳本(即使用自定義格式化腳本的獨立 SQL 查詢)按程序生成時,這不起作用。
我嘗試了 Go To Row() 和 Select Rows() 與 Next/Previous Selected 結合使用,但都沒有達到預期的效果。 目標行被選中,但表格不會滾動以顯示所選行。 我在調試器日誌中沒有收到任何錯誤,因此我認為該行運行良好。
是否有單獨的技巧可以讓表消息在 JMP13 中運行?
回复:編寫腳本以轉到表中的最後一行不,JMP 不會同步運行您的代碼。 它會盡快開始每個函數,因此您可能會遇到這樣的情況:當調用後面的函數時,前面的函數的結果不可用,這可能取決於這些結果。
Wait( 0 ) 會導致 JMP 在調用 Wait() 之後的下一個函數之前“趕上”。
回复:編寫腳本以轉到表中的最後一行有時,JMP 需要先完成一個命令,然後再繼續執行下一個命令,因此添加等待語句可以使其完成上一個命令。
回复:編寫腳本以轉到表中的最後一行謝謝,這有效,但我很困惑為什麼。
就腳本時間而言,整個腳本需要約 4-6 秒才能完全運行。 Go To Row 命令位於腳本的末尾,並且在開始時生成了表,並在其間成功運行了多個表消息。 您是否知道 JMP 是否在移至下一行/消息之前完成了每一行/消息? 如果是這樣,那麼我不明白為什麼 wait 命令會執行任何操作。 或者這只是 JSL 的一個怪癖?
回复:編寫腳本以轉到表中的最後一行嘗試添加等待語句。 例如:
dt=打開("mypath\table.jmp");
等待(0);
dt<<轉到行(nrow(dt));