Hi, I have questions regarding Field.setValue():

1. Not Firing Events.Change

Quoted from the JavaDoc:

Change : FieldEvent(field, value, oldValue)
Fires after the field's value is changed.
  • field : this
  • value : the new value
  • oldValue : the old value
So if someone programmatically called setValue(), I think it's safe to assume that it should fire Events.Change. Otherwise, please update the JavaDoc to explain the correct behavior.

2. setValue() and rendering

I might be wrong on this one. But lately, I'm having serious issue with GXT rendering mechanism and setValue(). This one is a very tricky situation. I did a setValue() on ComboBox within an RPC call. The problem with this is that I don't know if my ComboBox has been rendered or not. This situation occurs in the event of performing first time visit/initialization of the Widgets and setting the values afterward.

This is the code for setValue
Code:
  public void setValue(D value) {
    this.value = value;
    if (rendered) {
      String v = value == null ? "" : propertyEditor.getStringValue(value);
      setRawValue(v);
      validate();
    }
  }
Seems good. Setting the value to the new value. If not being rendered, skip setting the raw value etc.

Here's the problem. After it is being rendered, shouldn't the new value being shown?

For my case. The ComboBox doesn't show anything (but the value exist in the drop down).

Any suggestion?