Q1:テーブルのデータ更新イベント発生後に、そのテーブルのセルに値を設定しようとするとエラーが発生します。
Q1-1:
エラー発生後、セルに値は設定されますが、エラーになる原因がわかりません(データ更新がリカーシブになっている?)。処理方法が間違っているのか否か教えていただきたく、よろしくお願いいたします。
関連ファイル:テーブルのデータ更新.mzax (※このファイルは、ZIP形式に圧縮してあります。)
A1-1:
お送り頂いたアプリケーションを拝見したところ、エラーの原因は『テーブルのセルが更新されたら、選択されているセルの列位置を取得し等価演算コンポーネントで判定しているが、列2の更新がされた時もテーブルの更新イベントが発生し、等価演算コンポーネントに伝わっている。
カーソルの選択列は列1のまま移動しないため、テーブルのデータ更新イベント→等価演算結果true→テーブルのセル値設定と無限にループしている。』ことでした。
解決策は複数考えられると存じますが、
1)イベントの伝播をさせない
2)テーブル更新前に、セル選択列位置を列2に移動させる
以上2例の簡単なサンプルを作成しましたので、掲載致します。
関連ファイル:テーブルのデータ更新1.mzax、テーブルのデータ更新2.mzax (※このファイルは、ZIP形式に圧縮してあります。)