レポートとボタンボックスのリファレンス親愛なるコミュニティの皆様
ご協力いただければ幸いです。 以下のサンプル スクリプトはテーブルを作成し、プロファイラー プラットフォームを開きます。 さらに、レポートに 2 つのコントロールを追加します。 「オンにする」ボタンの機能は、チェック ボックスの値を 1/true に設定することです。 コントロールは、プロファイラー レポート「PF」への参照を使用して追加されます。 ここで、スクリプトを 2 回続けて実行すると問題が発生します。 これにより、「PF」参照は最新のレポートを参照するように上書きされます。 古いレポートで [オンにする] ボタンを使用すると、新しいレポートのチェック ボックスの値が設定されるようになりました。 もちろん、これは私が望む動作ではありません。 何らかの方法ですべてのレポートに一意の参照を使用する必要があると思います。 誰か助けてくれませんか? ありがとう。
Table 1 = New Table( "Table 1",
Add Rows( 1 ),
New Column( "p1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [2] ) ),
New Column( "p2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3] ) ),
New Column( "model",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :p1 ^ 2 + :p2 ^ 2 ),
Set Selected
),
Set Row States( [1] )
);
PF = Profiler(
Y( :model ),
Profiler(
1,
Term Value(
p1( 2, Min( 1.9 ), Max( 2.1 ), Lock( 0 ), Show( 1 ) ),
p2( 3, Min( 2.9 ), Max( 3.1 ), Lock( 0 ), Show( 1 ) )
)
)
);
Report( PF )["Prediction Profiler"] << Append(
NewButton = Button Box( "Turn On" );
//NewIndicator = Radio Box();
);
Report( PF )["Prediction Profiler"] << Append( CheckBox = Check Box( "Item 1" ) );
Report( PF )[Button Box( 1 )] << Set Script(
CheckBox << Set( 1 )
);
Re: レポートとボタン ボックスのリファレンスこれでうまくいきました、ありがとう。
Eval(
Substitute(
Expr(
Report( PF )["Prediction Profiler"] << Append( _NewButton_ = Button Box( "Turn On" ) );
Report( PF )["Prediction Profiler"] << Append( _CheckBox_ = Check Box( "Item 1" ) );
_NewButton_ << Set Script( _CheckBox_ << Set( 1 ) );
),
Expr( __NewButton__ ), Parse( "NewButton" || Char( counter ) ),
Expr( _CheckBox_ ), Parse( "CheckBox" || Char( counter ) )
)
);
Re: レポートとボタン ボックスのリファレンス<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、クレイジ
これありがとう。 この例のチェックボックスは、動作を説明するためだけのものです。 私の「実際の」アプリケーションでは、ボタン ボックスがレポートからジャーナルを作成します。 したがって、問題は、ボタンが正しいレポート ウィンドウを参照するようにすることでした。 あなたのソリューションはまたいつか役立つかもしれません。 ありがとう。
Re: レポートとボタン ボックスのリファレンスあなたの例には、ボタン ボックスの次の兄弟であるチェック ボックスがあります。これは、ボタン ボックス自体がそれ自体を見つけることができれば、ボタン ボックスがチェック ボックスを見つけるのは非常に簡単であることを意味します。set スクリプトではなく setFunction を使用すれば可能です。以下、太字のテキスト。変数が消えてしまいました。これで、ボタン ボックスが "this" を渡すことができる (JSL 変数に割り当てられていない) 匿名関数が完成しました。「this」はボタンボックスで、「this」の兄弟はチェックボックスです。PF 変数はまだ変更されていますが、それが必要かどうかはわかりません。関数が <
Table 1 = New Table( "Table 1",
Add Rows( 1 ),
New Column( "p1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [2] ) ),
New Column( "p2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3] ) ),
New Column( "model",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :p1 ^ 2 + :p2 ^ 2 ),
Set Selected
),
Set Row States( [1] )
);
PF = Profiler(
Y( :model ),
Profiler(
1,
Term Value(
p1( 2, Min( 1.9 ), Max( 2.1 ), Lock( 0 ), Show( 1 ) ),
p2( 3, Min( 2.9 ), Max( 3.1 ), Lock( 0 ), Show( 1 ) )
)
)
);
Report( PF )["Prediction Profiler"] << Append(
Button Box( "Turn On" );
//NewIndicator = Radio Box();
);
Report( PF )["Prediction Profiler"] << Append( Check Box( "Item 1" ) );
Report( PF )[Button Box( 1 )] << Set Function( Function( {this}, (this << sib) << Set( 1 ) ) );
Re: レポートとボタン ボックスのリファレンスこのような問題に対処する方法は、substitute を使用して、異なるメモリ変数を持つ異なるオブジェクトへの参照を作成することです。
Names Default To Here( 1 );
// Create a counter that initializes only the first time it is run, so it increments for each execution
If( Is Empty( counter ) == 1,
counter = 0
);
counter = counter + 1;
Eval(
Substitute(
Expr(
Report( PF )["Prediction Profiler"] << Append(
__NewButton__ = Button Box( "Turn On" );
//NewIndicator = Radio Box();
)
),
Expr( __NewButton__ ), Parse( "NewButton" || Char( counter ) )
)
);
これにより、後続の実行ごとに NewButton1、NewButton2 などが作成されます。