私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要私は一日中トラブルシューティングしていたことを私のアプリで発行します。私はこの非常に穏やかな行動にそれを絞り込んだ。何かが足りないのでなければ、これはこの方法ではいけません。
「野球」と「バスケットボール」の2つのテーブルを開きました。
私はこのスクリプトを持っています:
Clear Log();
//dt_current=Data Table("Basketball");
/*Two tables opened: Baseball and Basketball. The table named "Basketball" is selected as current table*/
dt_working=Data Table("Baseball");
Show("This is the dt_working table:");
Show(dt_working<<GET name=""></GET>明らかに、私は野球テーブルからの列を持つColリストボックスを作成しようとしています。
しかし、これは私のログ(およびアプリケーションの残りの部分)が私に示しているものです。
"This is the dt_working table:";
dt_working << Get Name() = "Baseball";
"Columns names:";
colNamesList = {Player, Batting};
"This is what dt_working still is:";
dt_working << Get Name() = "Baseball";
"But this is what I got in Col List Box:";
colListX << Get Items = {"School", "CSN", "Durham Sun", "Durham Herald", "Washington Post", "USA Today", "Sports Magazine", "In Sport", "UPI", "AP", "Sports Illustrated"};何らかの理由でdt_workingをBaseballに指定し、Col List Boxがテーブルdt_workingを使用して作成されると言っても、ツールバーで選択した現在のデータテーブルからの列をCol List Boxに追加します。
一般的に異なるコードを持っていますが、その特定の部分がまったく同じように動作することを意図していた方法とは別のアプリです。誰かが私がそれをさらに解決するのを手伝ってくれる?なぜそれがCol List Boxを生成するのは、私がそれを生成するように言ったテーブルではなく、現在のテーブルから生成するのですか?
長期的には、選択したテーブルの列を別のリストボックスに表示しようとしています。別のアプリの同様の機能はうまく機能します。ここでどのテーブルをクリックしても(そして私が引用したものと同じようなコードを実行しても)、一番上に選択されたテーブルの列が常に表示されます。
ありがとう、
M.
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要 @MathStatChem 書きました:
また、スクリプトガイドの構文を見ると、その構文ではデータテーブル参照の使用が許可されていないようです。構文を使用する必要があります。
y = Colリストボックス(、...)
Col List Box()の引数にあるData Table()は、Col List Box()に引数をデータテーブルとして解釈するように指示する名前付き引数です。そのため、引数としてデータテーブル参照を取ります。これが例です:
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA\Solubility.jmp" );
New Window("Example", Col List Box( Data Table( dt ), all ) );
<< Get Nameメッセージは必要ありません。
最初の引数がデータテーブル参照かどうかを自動的に検出しようとしています。
ありがとう @Justin_Chilton 説明のため。
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要
@ gzmorgan0 書きました:
はい、ColListBox(データテーブル(dt_ref << getname)など)を使用することをお勧めします。
そしてそれはうまくいきます!今日は二度私を救った!
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要さて、多分バグではありません、私は古いEメールを調べなければならないでしょうが、私はどこかにColListBox(dt、...)との参照を見つけてJMPにフラグを立てました。
はい、ColListBox(データテーブル(dt_ref << getname)など)を使用することをお勧めします。
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要また、スクリプトガイドの構文を見ると、その構文ではデータテーブル参照の使用が許可されていないようです。構文を使用する必要があります。
y = Colリストボックス(、...)
だからこのコードを使用して
y=Col List Box( Data Table(dt_working<<GET name=""></GET>
あなたに望ましい結果を与えます。 私はそれがバグだとは思わない、それはただ不格好な構文です。
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要ああ、わかりました。 したがって、Colリストボックスは現在のデータテーブルを使用しており、データテーブル参照を使用していません。 簡単な解決策は、colListステートメントの直前に次のステートメントをスクリプトに挿入することです。
現在のデータテーブル(dt_working)。
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要はい、私は別のスクリプトを開いたことがありますが、それはそこで働いていました
意図されました。ジョージアの回避策を試してみて、それがうまくいくかどうかを皆さんに知らせます。持っていた
強い疑い、それが大きかった、それが何を引き起こしているのか私には明らかではなかった
まったく同じコードが別のアプリでうまく機能したのでそれは。再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要サンプルデータのBaseball.JMPテーブルを使用してコードを実行しましたが、表示される動作はわかりませんでした。 これが私のログ出力です。
"This is the dt_working table:";
dt_working << Get Name() = "Baseball";
"Columns names:";
colNamesList = {Player, Batting};
"This is what dt_working still is:";
dt_working << Get Name() = "Baseball";
"But this is what I got in Col List Box:";
colListX << Get Items = {"Player", "Batting"};colListX参照を作成した場所に別のスクリプトを開いていましたか?おそらく別のテーブルを使用していましたか?
スクリプトの先頭で、Names Default to Here(1)コマンドを使用するのが最善かもしれません。 そうしないと、すべての変数がグローバルになり、2つの異なるスクリプトが互いの変数を監視することができます。
再:私は夢中になっていますかそれはどのように可能ですか?- 奇妙な行動のトラブルシューティングのヘルプが必要これをバグと呼びます。私はこの昨年に巻き込まれました。 しかし、解決策があります。 問題は、ColListBoxがテーブル参照dt_workingを評価または解析していないことです。 私のおすすめは、構文ColListBox(Data Table(dt_working << get name)、...を使うことです。colListXが作成されたときに、目的のテーブルを現在のデータテーブルにする場合。
hmmm私のJSlがラッピングしています。スクリプトが添付されています。
open("$Sample_data/Basketball.jmp");<BR />open("$Sample_data/Baseball.jmp");<BR /><BR />Clear Log();<BR /> //dt_current=Data Table("Basketball");<BR /> /*Two tables opened: Baseball and Basketball. The table named "Basketball" is selected as current table*/<BR /> dt_working=Data Table("Baseball");<BR /> <BR /> Show("This is the dt_working table:");<BR /> Show(dt_working<<GET name=""></GET> colNamesList = dt_working << Get Column Names;<BR /> show("Columns names:");<BR /> show(colNamesList);<BR /> show(current data table()); //Baseball<BR /> <BR /> colListX = Col List Box (all, width(250), maxSelected(1));<BR /> show(colListX<<GET items=""></GET><BR /> //_______________________________________________________<BR /> <BR /> Write("\!N" ||Repeat("_",60)||"\!N");<BR /> <BR /> //make Basektball current <BR /> <BR /> current data table(Data Table("Basketball"));<BR /> <BR /> colListX = Col List Box (dt_working, all, width(250), maxSelected(1));<BR /> show(colListX<<GET items=""></GET><BR /> colListX = Col List Box (NameExpr(dt_working), all, width(250), maxSelected(1));<BR /> show(colListX<<GET items=""></GET><BR /> colListX = Col List Box (Data Table("Baseball"), all, width(250), maxSelected(1));<BR /> show(colListX<<GET items=""></GET> <BR /> <BR /> colListX = Col List Box (Data Table(dt_working<<GET name=""></GET> show(colListX<<GET items=""></GET><BR /><BR /> Eval( <BR /> Parse( EvalInsert("colListX = ColListBox( ^dt_working^, all, width(250), maxSelected(1));") )<BR /> );<BR /> wait(0);<BR /> show(colListX<<GET items=""></GET>