2011-02-01 9 views
1

ユーザーがEditorGridセルにデータを入力する際に​​問題が発生します。次に、ユーザはグリッドを最初にクリックせずにスクロールします。スクロールすると、編集されたセルがリセットされ、入力されたデータが失われます。私はGXT editablegridサンプルを使用して、この動作を記録:グリッドをスクロールすると、EditorGridのCellEditorがコンテンツを失う

記録:http://goo.gl/dqqhK

私は、ユーザーがスクロールした場合に入力されたデータの損失を防ぐためにしようとしています。私はCellEditorのonBlur(...)メソッドを試していますが、これはユーザーがスクロールしたときに呼び出されますが、FieldEvent引数が既に入力された値を失っているようです。つまり、completeEdit()は何も格納しません。

ユーザーがスクロールしたときの「データの損失」を防ぐ方法はありますか?どんな助けでも大歓迎です。

ありがとうございます。

トーマス・アムスラー 堺プロジェクト(UCデービス)

答えて

3

これが私の作品、それが役に立てば幸い:

grid.addListener(Events.OnMouseWheel, new Listener<BaseEvent>() { 
      @Override 
      public void handleEvent(BaseEvent be) { 
       grid.stopEditing(); 
      } 
     }); 
+0

ありがとうございました。何らかの理由で、イベントリスナーはEvents.OnMouseWheelイベントを受け取りません。いくつかのテストをしながら、私はEvents.OnMouseWheelをEvents.OnMouseMoveに置き換え、それらのイベントを受け取ります。なぜそれがEvents.OnMouseWheelイベントを受信しないか考えていますか? – tamsler

+0

興味深いことに、 "Events.BodyScroll"リスナーを追加すると、動作するようです。だから違いは何か分かりません。 – tamsler

+0

BodyScrollとOnMouseWheelの両方が私に役立つので面白いですね。結局のところ、OnMouseWheelがなぜあなたにとってうまくいかないのか分かりません。あなたが解決策を見つけたのを見てうれしい。 – godonline

0

Events.BodyScrollは動作しますが、あなたはスクロールバーの上/下矢印をクリックしたときためか、スクロールバーのどこかをクリックすると、MouseWheelイベントではありません。

これはGXTのバグでなければならないと思いますが、今後これが修正されることを願っています。

関連する問題