0

ユーザーがスピナーのテキストボックスに入力してスピナーの値を手動で変更できないことを検証したいと思います。

たとえば、サーバーから取得したフィールド sales multiple = x は修正されません。以下のような制限付きのスピナーフィールドを表示します

spinner.setMinValue = x spinner.setIncrement = x spinner.setValue = x

そのため、x=3 の場合、ユーザーは 3,6,9... などと入力する必要がある場合、xeg で複数の値を強制的に選択します。

ここで私の問題は、スピナー フィールドのテキスト ボックスに 2 を入力した場合です。GXT ウィジェットはその値を受け入れます。

考えられる解決策:

  1. 設定するのを忘れたスピナーフィールドの事前定義されたプロパティはありますか?

  2. このための事前定義されたバリデータはありますか?

  3. スピナー フィールドのテキスト ボックスを css だけで読み取れるように設定して、ユーザーがテキスト ボックスに集中できず、値を変更できないようにすることはできますか。

  4. 上記のいずれでもない場合、手動で達成する方法は?

4

1 に答える 1

0
  1. 私はさまざまなクラスで少し検索しましたが、必要なものを設定する正確な方法もわかりません。

  2. 1つについてはわかりません.1つでも、バリデーターは入力フィールドの値を変更しませんが、ニーズには十分かもしれません.

  3. スピナーフィールドで setEditable(boolean) を呼び出すことにより、テキスト入力を無効にすることができます (testSpinner.setEditable(false);)

  4. IntegerPropertyEditor を検索できるかもしれませんが、試したことはありませんが、新しい Spinner が次のようなものである限り:

 

SpinnerField<Integer> testSpinner = new SpinnerField<Integer>(new NumberPropertyEditor.IntegerPropertyEditor());

「NumberFormat」パラメーターを受け取る IntegerPropertyEditor の別のコンストラクターがあることがわかりますが、NumberFormat() コンストラクターがないため、独自のコンストラクターを作成する方法についてはわかりませんが、それはアイデアになる可能性があります (入力の数値をインクリメントの倍数にフォーマットします)。

最後のオプションは、Sencha がこの可能性を忘れており、これをフォーラムで「バグ」として報告する必要がありますか?

少しでもお役に立てれば幸いです。幸運を祈ります:)。

于 2013-07-17T13:19:14.710 に答える