數據表關閉問題取決於關閉方式您好,我對 JMP 如何決定關閉具有以下腳本的數據表有疑問:
dt << On Close(close(當前數據表(),nosave));
我的主要問題是當使用此腳本打開多個窗口時數據表如何關閉。 如果使用右上角的 X 它將完美工作 10/10 次,但是如果您轉到任務欄並將鼠標懸停在每個表上並點擊 X,那麼它可以關閉多個數據表(通常是之後打開的數據表)正在關閉的表)如果我們正在積極使用其他表,這可能會導致問題。
當前數據表是否包含在其他數據表中? 我試圖找到某種方法來擺脫當前數據表方法,並讓它獲取數據表的當前名稱並嘗試以這種方式關閉它,但我遇到了問題。
這是腳本的問題還是 JMP 通過任務欄處理關閉窗口的問題?
謝謝,
自動化和腳本編寫回复:數據表關閉問題取決於關閉方式您嘗試使用 On Close() 關閉哪些數據表?
回复:數據表關閉問題取決於關閉方式不要使用 CurrentDataTable()。 永遠,如果可以避免的話。 正如您所注意到的,當前表格是通過單擊表格以及其他一些可能性來設置的。 顯然任務欄不算點擊表格。
我認為您正在嘗試應用“nosave”來忘記任何更改。 (您也可以使用 setDirty(0) 函數。)這裡有兩種方法。
首先,使用“this”參數,在本例中為 a。 它包含一個窗口,該窗口有一個知道該表的子框。
dt = Open( "$sample_data/big class.jmp" );
dt << onclose(
Function( {a},
Close( (a << child) << getdatatable, nosave );
1;
)
);
其次,通過在表中烘烤:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
回复:數據表關閉問題取決於關閉方式setdirty 的例子:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Expr( dt ) << setdirty( 0 );
1;
)
)
);
如果這是你的目標,這可能會稍微正確一些;當 onclose 腳本返回且表已關閉時,JMP 的內部不會感到驚訝。 對於這個,1;返回的信號指示 JMP 繼續關閉表。
回复:數據表關閉問題取決於關閉方式從另一個數據源(LIMS、Excel 等)提取信息的數據表。
它提取信息,然後有自動生成 IR 圖表的腳本,對列應用控制限制以及其他一些小便利。
我嘗試在腳本設計中使事情盡可能自動化,並且對數據表的人為乾擾應該最小化。 我們需要查看的任何內容基本上都會跳到您的腦海中,並表明是否需要採取行動。
由於這些是從 LIMS/Excel 的只讀視圖中提取的,因此沒有理由需要保存任何內容,除非在極少數情況下需要額外的操作。
回复:數據表關閉問題取決於關閉方式到目前為止,這已經完成了工作! 如果我遇到任何出錯的情況,我會回來。
謝謝克雷格!
回复:數據表關閉問題取決於關閉方式您是否嘗試過其他選項(使用“關閉”) @Craige_Hales建議(不使用<< Set Dirty)。 我認為即使您打開了報告,它們也應該起作用。 其他選項是獲取與數據表關聯的所有報告的列表並首先關閉這些報告(不確定是否有任何簡單的功能)。
回复:數據表關閉問題取決於關閉方式你好,賈莫,
我剛剛嘗試了克雷奇提出的其他示例之一,它最終確實起作用了。 我真的需要在將來回復之前查看所有給出的答案。 人們很容易忘記,在 JMP 中有一百萬種方法可以做同樣的事情,這裡的所有反饋都有助於提醒我這一點。
感謝您的幫助。
回复:數據表關閉問題取決於關閉方式你好,Craige,Set Dirty 方法出現了一個小問題。
使用當前數據表方法,它還會關閉任何依賴於打開的數據表(例如控製圖)的打開窗口。 強制它關閉所有依賴窗口以便一鍵關閉整個數據表並且沒有其他提示的最佳方法是什麼?
編輯:
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
這適用於關閉任何依賴的窗口。 我沒試過! 謝謝大家的幫助。
回覆:數據表關閉問題取決於關閉方式似乎 onClose 選項沒有與資料表一起保存。
是否可以將onClose設定與資料表一起儲存?
如果沒有,是否有可能在使用者開啟資料表時自動執行OnClose訊息?
我試著把
dt << on close( Function( {a}, Close( (a << child) << getdatatable, nosave ); 1;));進入我的開啟表腳本,但現在每當我打開資料表時,Jmp 都會顯示警告:

嗯,正在安排腳本
- 大話「最後告訴 Jmp 什麼都不做,甚至不保存資料」;)