更新組合框,其中列表來自必須由使用者開啟的資料表<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
背景
我正在創建一個帶有選項卡的小型應用程序,在其中一個選項卡中我請求用戶打開一個數據表
在另一個選項卡中,我有一個組合框,顯示該資料表的列的唯一值清單(“unique_copy_list”)
CBX1 =嘗試(組合框(唯一副本列表) , ) ,
問題:
當應用程式啟動時,未選擇資料表,因此“唯一_副本_列表”不可用,
有沒有辦法刷新組合框?
或最好使用不同的方法
回覆:更新組合框,其中列表來自必須由使用者開啟的資料表謝謝大家的支持。 點了,我很快就會升級。 無論如何,透過刪除和附加,我完成了工作。
回覆:更新組合框,其中列表來自必須由使用者開啟的資料表JSL 語法會隨著時間的推移而演變,因此如果您使用的是非常舊版本的 JMP,那麼在您發布幫助請求時提及這一點確實很有幫助。您嘗試做的事情可以在版本 9 中完成,但更新列錶框和組合框的方法從那時起已經發生了變化。我認為設定物品是版本 10 中的新功能,但也許我錯了,但我知道在當前版本中,這要容易得多,如 Peter 所示。不過,您仍然可以使用核心原則,即在選擇資料表後將訊息傳送到組合方塊。一種冗長的方法是迭代地刪除項目(<回覆:更新組合框,其中列表來自必須由使用者開啟的資料表
我使用 JMP 9.0.2
我使用了您發送給我的所有程式碼來驗證解決方案,只需將列名稱從“客戶”更改為“複製”,但這並不相關,因為unique_copy_list 變數包含正確的訊息,但似乎她設定的項目命令沒有達到預期的效果
回覆:更新組合框,其中列表來自必須由使用者開啟的資料表你能發布你的程式碼嗎?另外您使用的是哪個版本的 JMP?我的程式僅在您開啟名為“的範例資料集”時才有效波段資料」。
回覆:更新組合框,其中列表來自必須由使用者開啟的資料表感謝您的快速回應,仍然設定項目命令不會刷新提到的組合框:S
它運行正常,但沒有日誌錯誤,但組合框沒有反映它
我還運行了你的完整腳本(再次感謝),但仍然沒有
回覆:更新組合框,其中列表來自必須由使用者開啟的資料表您需要設定回調來載入組合框。這是一個小例子。您必須開啟 Bands Data 範例資料集才能正常運作。我還提供了一個函數來獲取列的唯一值。
/* 函數名稱取得唯一值
描述:取得列的唯一值。 例如:
適應症
------------
AAAAA
BBBB
AAAAA
中交建
中交建
unique_list = 取得唯一值(:指示)
將返回 {"AAAAA", "BBBBB", "CCCCC"}
論點:
dtcol 列描述子來計算唯一值
*/
獲得獨特的價值=功能( { dtcol } , {預設本地} ,
// Eval/expr 技巧來讓它運作。
評估(評估表達式(
總結(唯一列表=經過(表達式( dtcol )))))) ;
唯一列表;
) ;
西北=新窗戶( “測試” ,
選項卡框(
“第一個標籤” ,
開啟按鈕=按鈕盒( “打開” ,
dt =打開() ;
// 此範例將使用 Bands Data...
唯一副本列表=獲得獨特的價值(柱子( dt , “顧客” )) ;
CBX1 <<設定項目(唯一副本列表) ;
) ,
“第二個選項卡” ,
CBX1 =組合框() , // 最初它是空的
)
) ;