JSL を使用してモーダル ダイアログ ウィンドウを編集する方法JSL 経由でモーダルダイアログを編集する正しい方法は何ですか?
アイデア:
-更新ボタンの追加機能はデータフィルターにボタンを追加します
- ウィンドウの作成後に実行された場合に機能します
- in the actual use case, the return value of the window is used as input for the subsequent code.
Therefore, <<TYPE><BR /> -><FONT face="courier new,courier">更新ボタンの追加() //post</FONT>が実行される前にウィンドウが閉じられます</TYPE>
- I tried to add the <FONT face="courier new,courier">更新ボタンを追加()</FONT> via <FONT face="courier new,courier"><< オープン時 (<BR /></FONT>... without success
<CODE class=" language-jsl">Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Properties to Table(
{New Script("reread", JSL Quote(caption("reread ...")), As String( 1 ))});
add update button = function ({},
wait();
Current Report()["Local Data Filter",LineUpBox(1)] <<
append(
b = Button Box( "update",
b << close window();
dt << run script( "reread" );
ShowQueryWindow();
)
));
ShowQueryWindow = Function({},
gui = New Window( "test",
//<<TYPE></TYPE><CODE class=" language-jsl"><LINGO-LABS id="lingo-labs-750202" slang="en-US" mode="UPDATE"><LINGO-LABEL>自動化とスクリプト</LINGO-LABEL></LINGO-LABS>Re: JSL を使用してモーダル ダイアログ ウィンドウを編集する方法JMP 18 でこれを実現する方法の 1 つは、ウィンドウ ハンドラーを使用することです。ウィンドウ ハンドラーは関数の実行中に作成された任意のウィンドウにアクセスできる関数ラッパーです。今後のメジャー リリースでは、モーダルと非モーダルの動作の一貫性を高めることを検討しており、これにより、将来的には New Window() 関数を介してこれを直接実行することがより簡単になるはずです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Add Properties to Table(
{New Script("reread", JSL Quote(caption("reread ...")), As String( 1 ))});
add update button = function ({win},
win["Local Data Filter",LineUpBox(1)] <<
append(
b = Button Box( "update",
b << close window();
dt << run script( "reread" );
ShowQueryWindow();
)
));
showFilter = Function({},
With Window Handler(
New Window( "test",
<<TYPE></TYPE>
<P> </P>
<P> </P>Re: JSL を使用してモーダル ダイアログ ウィンドウを編集する方法こんにちは@danschikore 、どうもありがとう
素晴らしい:)
Re: JSL を使用してモーダル ダイアログ ウィンドウを編集する方法モーダルウィンドウに更新ボタンを追加しようとしていますか? そうであれば、モーダルウィンドウはレポートウィンドウではないと思います (モーダルまたはモーダルダイアログです) -> 別の方法でモーダルウィンドウを構築します
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Script("reread", JSL Quote(caption("reread ...")), As String(1));
add update button = Function({ref},
ref["Local Data Filter", Lineup Box(1)] << append(
b = Button Box("update",
b << close window();
dt << run script("reread");
)
);
);
showFilter = Function({},
collector = V List Box(
dt << data filter(local)
);
add update button(collector);
gui = New Window("test", <<TYPE></TYPE>
<P>起こりうる問題を回避するために、関数に {Default Local} (または定義済みの変数名) を追加することをお勧めしますが、追加のスクリプトが必要になります。</P>