テーブルボックス行変更機能に関するJMP 13.1のバグJMPユーザー様、こんにちは。
テーブルボックスの行変更機能にバグがあります。 関数内でフォーカスを別のタブに変更しようとしていますが、無視されます。 私はJMP技術サポートに連絡しましたが、JMP 13.2または14で修正されるかのどちらかです。 これは私のためのショーストッパーです。 他の誰かがこの動作に気付いて回避策を考え出すことができたかどうか私は思っていませんでしたか?
ありがとう、
ピーター
これがバグを実証するプログラムです。
nw = new window("test",
tabx = tab box(
"First Tab",
tb = table box(
scb1 = string col box("One", {"AAA", "BBB", "CCC"}),
scb2 = string col box("Two", {"XXX", "YYY", "ZZZ"}),
scb3 = string col box("Three", {"Giant", "Awesome", "Stupendous"}),
ncb = number col box("Four", {44, 33, 22}),
),
"Second Tab",
txb = text box("Nothing selected"),
),
);
tb << Set Selectable Rows(1);
tb << set row change function(
function({this},
rlist = this << get selected rows;
if (nrows(rlist) > 0,
print(rlist[1]);
txb << set text(char(rlist[1]));
tabx << set selected(2);
);
);
);再:テーブルボックス行変更機能のJMP 13.1のバグありがとうダン。それはルーベ・ゴールドバーグ風の解決策ですが、うまくいきます!
再:テーブルボックス行変更機能のJMP 13.1のバグこんにちはピーター、
この問題は、JMP 13でタブページボックスにフォーカスが追加されたことが原因でした。 タブページをクリックしたときに、まだフォーカスが設定されていない場合は、タブページにフォーカスを置きます。 行変更コールバックが2番目のタブページにフォーカスを設定し、次にクリックしたタブがすぐにそれを元に戻すので、この場合はタイミングが悪くなります。
この問題を回避するには、クリック処理が完了した後にタブを設定する方法が必要です。 これは、切り替えたいタブページの変数を設定した後、フレームボックスグラフィックススクリプトでそのタブページをリセットする例です。 これは、クリックが完了した直後に行われる次の描画で発生します。
私はそれが役立つことを願っています!
- ダン
tabOverride = 0;
nw = New Window( "test",
V List Box(
tabx = Tab Box(
"First Tab",
tb = Table Box(
scb1 = String Col Box( "One", {"AAA", "BBB", "CCC"} ),
scb2 = String Col Box( "Two", {"XXX", "YYY", "ZZZ"} ),
scb3 = String Col Box( "Three", {"Giant", "Awesome", "Stupendous"} ),
ncb = Number Col Box( "Four", {44, 33, 22} ),
),
"Second Tab",
txb = Text Box( "Nothing selected" ),
),
gb = Graph Box( Frame Size( 1, 1 ), XName( "" ), YName( "" ) )
)
);
Try(gb[AxisBox( 1 )] << Delete Box);
Try(gb[AxisBox( 1 )] << Delete Box);
Try(gb[Text Edit Box( 1 )] << Delete Box);
Try(gb[Border Box(1)] << Top(0) << Bottom(0) << Left(0) << Right(0));
gb[FrameBox( 1 )] << Add Graphics Script(
If( tabOverride > 0,
tabx << Set Selected( tabOverride );
tabOverride = 0;
)
);
tb << Set Selectable Rows( 1 );
tb << set row change function(
Function( {this},
rlist = this << get selected rows;
If( N Rows( rlist ) > 0,
Print( rlist[1] );
txb << set text( Char( rlist[1] ) );
tabOverride = 2;
tabx << set selected( 2 );
);
)
);
再:テーブルボックス行変更機能のJMP 13.1のバグピート、
タブについても同様の問題が発生しました。 何度か私は特定の挿入物を削除し、そしてそれを新しい情報でそれを再構築することによって問題を解決しました。 視覚的には、ユーザーに関する限り、影響はありません。したがって、これが機能する場合、それは良い回避策です。 しかし、私はあなたのサンプルスクリプトで同じことをすることを試みました、そして、私はあなたの「選択」問題を克服することができませんでした。