Sample : 他画面へのデータ引継ぎ

実装サンプル : なし

画面遷移を行う際は、データの引継ぎを行う場合がほとんどです。 このドキュメントでは データを引継ぎを行う方法についてご説明します。

1.画面間遷移アイテムセットを使用する
2.別領域を使用する
3.データ受渡処理を独自処理に入替

画面間遷移アイテムセットを使用する↑top

./images/trans.png 画面間遷移アイテムセット と FrameShowロジッククラスのIN/OUT を使用 して データの受渡 を行うことが可能です。

起動先画面のLoad処理の前 と 起動先画面のClose処理の最後 のタイミングで データ受渡が発生します。

[1.1:起動元 → 起動先 のデータ受渡] では
FrameShow/IN の情報 を 起動先画面の遷移アイテムセットのIN
に受渡しされます。

[3.1:起動先 → 起動元 のデータ受渡] では
起動先画面の遷移アイテムセットのOUT を 起動元画面FrameShow/OUT の情報
に受渡しされます。
この処理は、Close処理の一部として実行されますので、 FrameQuit(Close処理を行わず画面終了) した場合には 実行されません。

データ受渡 は 行マッピング になります。

■補足
Modal と Modeless の動きについて
FrameShowで表示する画面がModalの場合は、画面が閉じられるまで元画面の 処理は待ち状態になります。(元画面の操作も不可になります。)
逆に Modeless画面を表示する場合は、起動画面のLoad処理後に 制御が戻ります。
そのため、[3.1:起動先 → 起動元 のデータ受渡]戻されたデータ を次の処理に 組み込む実装をするには Modal画面を起動する必要があります。

別領域を使用する↑top

CAMC画面では、各画面共通に参照できる領域として 「共通メモリ」「OptionalData」 があります。
ある画面の起動元画面がいくつもあり、 渡すデータの数もバラバラ で 最大公約数の アイテムを並べるのは大変・・・などの場合には、この領域を使うのも一つの方法です。

■参考 URL
[公式Document] ClientJava / 共通メモリ
[公式Document] OptionalData概要

データ受渡処理を独自処理に入替↑top

データ受渡処理 の 処理自体を 委譲クラスを作成することにより 独自処理に入替える事が可能です。

委譲クラスは [製品Class] jp.ne.mki.wedge.run.client.event.FrameImportInterface のインターフェースを実装します。
デフォルトの実装は [製品Class] jp.ne.mki.wedge.pub.client.frame.DefaultFrameImportExport (製品購入時ソース配布) になります。

委譲クラスの設定は [製品Class] jp.ne.mki.wedge.run.interfaces.ClientManagerInterface#setFrameImportExport(jp.ne.mki.wedge.run.client.event.FrameImportInterface) にて行います。
AbstractClientを継承したロジッククラスにて 以下のようなコードを記述します。

設定は 画面単位 になります。

Valid XHTML 1.1