ユーザーが開く必要があるデータテーブルからリストが取得されるコンボボックスを更新します。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
背景
タブのある小さなアプリケーションを作成しています。そのうちの1つで、ユーザーにデータテーブルを開くように要求しています。
別のタブには、データテーブルの列の一意の値のリスト(「unique_copy_list」)を表示するコンボボックスがあります。
cbx1 =試す(コンボボックス( unique_copy_list ) 、 ) 、
問題:
アプリケーションの起動時にはデータテーブルが選択されていないため、「 unique_copy_list”利用できません、
コンボボックスを更新する方法はありますか?
あるいは、別のアプローチを使用したほうがよいでしょう
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新する皆さんのサポートに感謝します。 ポイントを取得しました。すぐにアップグレードします。 とにかく削除と追加で仕事を完了しました。
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新するJSL 構文は時間の経過とともに進化するため、非常に古いバージョンの JMP を使用している場合は、ヘルプのリクエストを投稿するときにそのことを言及しておくと非常に役立ちます。あなたがやろうとしていることはバージョン9でも実行できますが、リストボックスとコンボボックスを更新する方法はそれ以降変更されています。Set Items はバージョン 10 の新機能だと思っていましたが、おそらく間違っています。でも、Peter が説明したように、現在のバージョンではこれがはるかに簡単であることはわかっています。ただし、データ テーブルが選択されたらコンボ ボックスにメッセージを送信するという基本原則は引き続き使用できます。時間のかかるアプローチは、項目を繰り返し削除し (<<項目の削除)、リストをクリアしてから項目を追加します (<<項目の追加)。コンボボックス全体をザップして、新しいものと置き換えるだけです。私はバージョン 9 をインストールしていないので、どのアプローチが最適であるかを検証できません。
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新するJMP9.0.2を使用しています
ソリューションを検証するために送信されたすべてのコードを使用しました。「コピー」によって列名を「customer」から変更するだけですが、unique_copy_list変数には正しい情報が含まれているため、これは関係ありませんが、set itemsコマンドには望ましい効果がないようです。
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新するコードを投稿していただけますか?また、JMP のバージョンは何ですか?私のプログラムは、「」というサンプル データセットを開いた場合にのみ機能します。バンドデータ」。
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新する素早い対応ありがとうございます。項目を設定するコマンドでは、前述のコンボ ボックスが更新されません :S
正常に実行されますが、ログエラーはありませんが、コンボボックスに反映されません
また、あなたの完全なスクリプトを実行しましたが(もう一度感謝します)、それでもだめです
Re: ユーザーが開く必要があるデータ テーブルからリストが取得されるコンボ ボックスを更新するコンボボックスをロードするにはコールバックを設定する必要があります。ここで少し例を示します。これを機能させるには、Bands Data サンプル データセットを開く必要があります。列の一意の値を取得する関数も組み込みました。
/* 関数名 一意の値を取得
説明: 列の一意の値を取得します。 例えば:
適応症
------------
ああああ
BBBBB
ああああ
CCCC
CCCC
unique_list = 一意の値を取得する (:Indications)
{"AAAAA"、"BBBBB"、"CCCCC"} を返します
引数:
一意の値を計算するための dtcol 列記述子
*/
固有の値を取得する=関数( { dtcol } 、 {デフォルトのローカル} 、
// これを機能させるための Eval/expr のトリック。
評価(評価式(
要約する( unique_list =による(式( dtcol ))))) ;
unique_list ;
) ;
新しい=新しい窓( "テスト" 、
タブボックス(
「最初のタブ」 、
開くボタン=ボタンボックス( "開ける" 、
dt =開ける() ;
// この例はバンド データで動作します...
unique_copy_list =一意の値を取得する(カラム( dt 、 "お客様" )) ;
cbx1 <<セットアイテム( unique_copy_list ) ;
) 、
「2番目のタブ」 、
cbx1 =コンボボックス() 、 // 最初は空です
)
) ;