Heng Sin Low 2009-05-14 09:39:49 +00:00
parent 7f24893ba3
commit be2a23ec8e
1 changed files with 9 additions and 2 deletions

View File

@ -42,7 +42,7 @@ import org.zkoss.zk.ui.event.Events;
*/ */
public class WNumberEditor extends WEditor public class WNumberEditor extends WEditor
{ {
public static final String[] LISTENER_EVENTS = {Events.ON_CHANGE}; public static final String[] LISTENER_EVENTS = {Events.ON_CHANGE,Events.ON_BLUR};
public static final int MAX_DISPLAY_LENGTH = 20; public static final int MAX_DISPLAY_LENGTH = 20;
@ -118,9 +118,16 @@ public class WNumberEditor extends WEditor
*/ */
public void onEvent(Event event) public void onEvent(Event event)
{ {
if (Events.ON_CHANGE.equalsIgnoreCase(event.getName())) if (Events.ON_CHANGE.equalsIgnoreCase(event.getName())
|| Events.ON_BLUR.equalsIgnoreCase(event.getName()))
{ {
BigDecimal newValue = getComponent().getValue(); BigDecimal newValue = getComponent().getValue();
if (oldValue != null && newValue != null && oldValue.equals(newValue)) {
return;
}
if (oldValue == null && newValue == null) {
return;
}
ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue); ValueChangeEvent changeEvent = new ValueChangeEvent(this, this.getColumnName(), oldValue, newValue);
super.fireValueChange(changeEvent); super.fireValueChange(changeEvent);
oldValue = newValue; oldValue = newValue;