Q15:マニュアルP.107〜108にかけてのイベント番号4,5の処理までに、イベント番号0〜3は使用していますが、ここでのイベント番号はその後のサブルーチン内の列4,5とは関係ないのでしょうか?
Q15-1:
購買管理チュートリアル18まで読み込みましたが、一点だけ謎な部分があります。
マニュアルP.107〜108にかけてのイベント番号4、5の処理です。
この処理までにイベント番号0〜3は使用していますが、ここでのイベント番号はその後のサブルーチン内の列4、5とは関係ないのでしょうか?
マニュアル内に「画面表示用テーブルの第4列あるいは第5列が選択されていれば」と書かれているのが、このイベント番号なのかな、とか思ってしまえて悩ましいです。
A15-1:
ここでのイベント番号4、5は、テーブル(画面表示用)の列4、5に対応しており、この処理までに使用したイベント番号とは何の関係もありません。すなわち、0〜3の続きとして4、5を指定しているわけではありません。
ここでやりたいことは、テーブル(画面表示用)の第4列(発注数量)あるいは第5列(単価)が更新されたときに、金額(発注数量×単価)を自動的に計算して第6列(金額)にその値を設定することです。
そして、ここで作成する機能は、「テーブルのセルにデータを入力するときには、必ずそのセルが選択されている」ことを前提としています。これは、実際にセルにデータ入力を行うときの操作(セルをクリックした後、キーを打つ)を想像すれば、納得していただけるかと存じます。
テーブル(画面表示用)から発生したデータ更新イベントに接続されているイベント生成コンポーネントの、「アクションイベントを発生する(int)」の引数は、そのときにテーブル(画面表示用)で選択されている列のインデックスになっています。したがって、第0列のセルに値を入力したときにはイベント番号0、第1列のセルに値を入力したときにはイベント番号1、... のアクションイベントが発生します。
金額(発注数量×単価)の計算は、上述の通り、第4列あるいは第5列のセルの値が入力されたときにのみ行いたいので、サブルーチン(発注数量×単価の計算)の「処理を呼び出す()」メソッドは、イベント番号が4と5のときのみ実行するようにしています。