列の OnChange イベント (クライアント API 参照)
このイベントは次の状況で発生します: OnChange
- フォームのカラムのデータが変更され、フォーカスが失われます。 この動作には、ラジオボタンやチェックボックスを使用するようにフォーマットされている Yes/No 列に適用される例外があります。 これらの場合、イベントは、ただちに実行されます。
- レコードを保存した後など、フォームが更新された際に、サーバー上で変更されたデータを取得して、カラムを更新します。
- attribute.fireOnchange メソッドが使用されます。
すべての列は OnChange
イベントをサポートします。 列内のデータは、 OnChange
イベントの前後に検証されます。
OnChange
列がattribute.setValue メソッドを使用してプログラム的に変更された場合、 イベントは発生しません。 値を設定した後にイベントのイベント ハンドラーを実行する場合は、コード内でfireOnchangeメソッドを使用する必要があります。 OnChange
formContext.data.entity attribute.
... OnChange
イベントは、ユーザーがダーティ フォームから移動して変更を破棄するときに列がプログラムによって変更された場合にも発生しません。
ヒント
ステータス 列はOnChange
イベントをサポートしますが、フォーム上の列は読み取り専用であるため、ユーザー操作によってイベントが発生することはありません。 別のスクリプトでは、列に対して fireOnchange メソッドを使用して、このイベントが発生する可能性があります。
ヒント
OnChange
イベントは同期されます。 非同期コードの解決時にアクションを実行または処理する必要があるイベント ハンドラーでは、非同期コードを使用しないでください。 OnChange
これにより、解決ハンドラーが、アプリ コンテキストが非同期コードが開始されたときと同じままであると想定している場合に問題が発生します。 また、OnChangeイベント ハンドラーで同期ネットワーク要求を行わないでください。 これにより、アプリが応答しなくなる可能性があります。
このイベントをサポートするメソッド
列のイベントを操作するには、次の3つの方法を使用できます。 OnChange
関連記事
列 (クライアントAPIリファレンス)
イベント (クライアント API 参照)
モデル駆動型アプリのフォームとグリッド内のイベント