0
したがって、カンマの前に20桁、カンマの後に16桁の制限付きカスタム番号セルを作成する必要があります。 onKeyDown()
を無効にしようとしましたが、入力値を動的にチェックするのではなく、ぼかし前の値のみをチェックします。どんな助け?Sencha GXT NumberInputCellの長さ
したがって、カンマの前に20桁、カンマの後に16桁の制限付きカスタム番号セルを作成する必要があります。 onKeyDown()
を無効にしようとしましたが、入力値を動的にチェックするのではなく、ぼかし前の値のみをチェックします。どんな助け?Sencha GXT NumberInputCellの長さ
このようなものを試してみてください。
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.user.client.ui.RootPanel;
import com.sencha.gxt.cell.core.client.form.NumberInputCell;
import com.sencha.gxt.widget.core.client.form.NumberField;
import com.sencha.gxt.widget.core.client.form.NumberPropertyEditor.IntegerPropertyEditor;
public class NumberFieldTest implements EntryPoint {
@Override
public void onModuleLoad() {
IntegerPropertyEditor integerEditor = new IntegerPropertyEditor();
NumberInputCell<Integer> numberFieldCell = new NumberInputCell<Integer>(integerEditor) {
@Override
protected void onKeyPress(com.google.gwt.cell.client.Cell.Context context, Element parent, Integer value,
NativeEvent event, ValueUpdater<Integer> valueUpdate) {
super.onKeyPress(context, parent, value, event, valueUpdate);
String textValue = getInputElement(parent).getValue();
if (textValue != null && textValue.length() > 3) {
event.stopPropagation();
event.preventDefault();
}
}
};
NumberField<Integer> numberField = new NumberField<Integer>(numberFieldCell, integerEditor);
RootPanel.get().add(numberField);
}
}
ええ、まあまあの解決策です。フィールド用。セルではありません。セルは何らかのグリッドの内側で使用できるため、検証はセルに正確に付加する必要があります。 –
ああ、私はすぐに読んでいます。このサンプルを変更して、セルでどのように実行できるかを示しました。 – Branflake2267