0

GXTv3フィールドについて話しましょう。

フレームAとBが2つあります。

フレームAには、一連のフィールドと送信ボタンSAがあります。[送信]ボタンはフレームAのフィールドを読み取ります。フレームBには、フレームAのフィールドを読み取る送信ボタンSBのみがあります。

次の手順を実行します。

  1. フレームAのフィールドF1にデータを入力します。
  2. フレームAの領域をクリックするか、フレームAの送信ボタンをクリックします。
  3. F1 getCell()でデバッグすると、値があることが示されます。

次の代替手順を実行します。

  1. フレームAのフィールドF1にデータを入力します。
  2. フレームBのボタンをクリックします。
  3. F1 getCell()でデバッグすると、値がないことが示されます。

これは私にとって問題です。したがって、フレームAのフィールドのオンブラーアクションの、ボタンSAとボタンSBのクリックの違いを知りたいと思います。

フレームAをクリックしたときにフィールドF1のオンブラーが実行するアクションと、フレームBをクリックしたときにフィールドF1のオンブラーが実行しないアクションは何ですか?

その違いを知っていれば、その違いを実行することができます。

4

1 に答える 1

0

解決策は簡単でした。

フレームAの任意の2つのフィールドを選択するだけです。

public void focusA(){
  frameA.getField1().focus();
  frameA.getField2().focus();
  frameA.focus();
}

フレームBのボタンクリックハンドラーは、フィールド値をフラッシュする前にfocusA()を呼び出す必要があります。

focusA()が行うことは

  • 他のフィールドにフォーカスすると、フォーカスされているフィールドを除いて、DOMからフィールドエディターの値への更新がトリガーされます。
  • その場合、別のランダムフィールドをトリガーして、最初のフィールドの更新をトリガーします。
  • 次に、コンテナにフォーカスすることで、フォーカスされている最後のフィールドにフォーカスが固定されないようにします(ユーザーによる誤ったフィールド編集を防ぐため)。
于 2013-02-24T17:20:14.573 に答える